Ciao a tutti,
sto sviluppando un sito web con Drupal con due lingue Inglese e Italiano.
Sto traducendo tutti i contenuti e quindi per esempio se ho un nodo in Italiano (node/1) faccio la sua traduzione creando un altro nodo in Inglese (node/2).
Fin qui tutto bene.
Faccio delle prove. Vado sul nodo in italiano da questa url (http://example.com/it/node/1) e se clicco lingua inglese vado alla sua traduzione a questo url (http://example.com/it/node/2). Bene!
Però il nodo 1 è accessibili anche andando su queste url: (http://example.com/node/1 e http://example.com/en/node/1) con conseguente duplicazione del contenuto nell'indicizzazione.
Questo mi sembra un problema bello grosso. Voi sapete come posso rimediare?
Grazie
Hai già provato con global redirect? Con un multilingua non so se funziona correttamente ma provar non nuoce.
Ho già installato global redirect sul sito ma il problema è comunque presente.
Forse mi hai messo sulla buona strada. Ho trovato questa discussione su global redirect. Domani provo ad aplicare la patch e poi scrivo com'è andata.
Speriamo!
@krima
Complimenti per "Ditelo". Ottima idea.
Grazie :-)
Ragazzi ma fare un sito multilingua che vada bene anche lato Seo è una "spremuta di sangue".
Ora per fare i titoli delle pagine scopro che i token non supportano la traduzione di [type-name].
E vabbeeee
E anche questa è andata grazie a questa patch...
Dai dai dai! :)
Occhio che la patch http://drupal.org/node/201675#comment-2630498 è incompleta: se hai tipi di contenuto non traducibili c'è il rischio di loop
--
www.siti-drupal.it
www.FiNeX.org
Ma non si usava fare :
http://example.com/it/node/1
http://example.com/en/node/1
http://example.com/fr/node/1
Non capisco perchè la traduzione di it/node/1 deve andare su un IT Node 2 ?
Non è confusionaria la cosa ?
Quando vado a fare la traduzione io creo un altro nodo....non è cosi?
Io lo ho sempre fatto con patauto attivo e quindi non so se il risultato senza è uguale a quello mostrato da Lorenzo, però di solito (dipende dalle impostazioni) vengono creati in automatico due nodi uno sito.it/miapagina ed uno sito.it/en/mypage (con pathauto attivo). Poi con l'apposito blocco o direttamente dal nodo si passa da una lingua all'altra.
Anche io ho fatto come te krima e funziona.
Poi però ho voluto fare una prova e ho digitato l'indirizzo sito.it/en/miapagina e il contenuto in italiano veniva servito lo stesso nel sito in inglese.
Questo mi sembrava un problema grosso per il SEO anche se l'utente, a meno che non voglia fare esperimenti anche lui, non credo che ci arriverà mai a quella pagina.
Ragazzi io ho lo stesso problema.
Ho 4 lingue e i tipi di contenuto sono per la maggior parte di tipo image
Secondo google ho circa 6000 titoli duplicati.
Ho attivato il modulo Nodewords (Meta Tags), nella voce di configurazione Meta tags creation options, ho spuntato la casella Repeat meta tags for lists
ho spuntato inoltre il canonical link per ridurre i duplicati
Ho attivato il modulo Global redirect (in questo modulo il canonical link con il multilingua va in loop)
Per i nodi ho dei canonical link del tipo miosito/en/mypage quindi usa l'alias mentre per la tassonomia crea un canonical link del tipo miosito/en/taxonomy/term/1234
C'è un modo per testare in locale quanti e quali sono i titoli duplicati senza dover usare gli strumenti per webmaster di google?
Senza il multilingua penso si possa risolvere rapidamente con global redirect ma non saprei quale sia la soluzione migliore con il multilingua.
E' una settimana che leggo centinaia di 3D tra drupal italia e il .org senza però trovare la giusta soluzione.
Vorrei evitare di fare prove a vanvera per non essere penalizzato da google.
www.cactipedia.info
non vado a rileggere le istruzioni sulle traduzioni ma mi pare di ricordare che "cè ben scritto" di dare /en /it ecc.. come maniera più semplice per suddividere i contenuti tradotti in modo "intelleggibile" per tutti (modulo i18 traduzione.. modulo Help avanzato ...)
Ciao Lorenzo
Ho il modulo i18n, le path sono / per l'italiano e le altre /en /fr e /es
Questa mattina sono tentato di bloccare tutti i robots finche non ho sistemato il tutto. Vorrei trovare un software o qualcosa di simile per simulare la ricerca di duplicati che fa google ma non ho trovato nulla al momento.
www.cactipedia.info
facci sapere giogiovi perchè neanche io tuttora sono riuscito a risolvere questo problema.
Eccomi quì
Ho impiegato molto tempo a capire e a risolvere i problemi
Situazione iniziale:
circa 6000 duplicati
errori di scansione circa 580
Premessa:
Buona parte degli errori era causata da un mio smanettamento con i prefissi delle lingue.
Inizialmente pensavo che per risolvere mi bastava creare tutti gli alias per le pagine con errore 404 .... ma mi sbagliavo
Ho perso un sacco di tempo incrementando solo il numero di errori e di duplicati
Avevo modificato il file .htaccess per gestire in massa i redirect 301 ma i robots se ne fregano pesantemente del file .htaccess ... altra fatica inutile
La mia soluzione:
Per prima cosa ho bloccato completamente i robots per evitare che gli errori aumentassero durante gli smanettamenti di questi giorni.
User-agent: *
Crawl-delay: 10
# Directories
Disallow: /
admin/settings/language
ho configurato la lingua italiana senza prefisso mentre per le altre ho messo /en /fr /es
admin/settings/language/i18n
ho spuntato le seguenti voci
Mixed current language (if available) or default language (if not) and language neutral.
Hide content translation links
Switch interface for translating
admin/settings/language/configure
ho spuntato
Prefisso del percorso con lingua di ripiego.
admin/build/path/delete_bulk
Ho eliminato tutti gli alias presenti nel db
admin/build/path/pathauto
ho riconfiguato e ricostruito tutti gli alias
admin/settings/globalredirect
Ho spuntato le seguenti voci
Deslash
Non-clean to Clean
Remove Trailing Zero Argument: Enabled for all pages
Menu Access Checking
Case Se
nsitive URL Checking
Language Path Checking
Taxonomy Term Path Handler
Qui non ho potuto flaggare il canonical link perchè ha problemi con i18n ma ho dovuto usare nodewords
admin/content/nodewords
Ho spuntato le seguenti voci
Astratto
Descrizione
Parole chiave
Enable the user profile meta tags (è flaggato ma di fatto non lo uso)
Repeat meta tags for lists
Use front page meta tags
Generate meta tag content when the meta tag content is empty
Generate meta tags content from the node teaser, or the node body when the node teaser is empty
Auto-keywords vocabularies: ho spuntato sia il vocabolario delle immagini che quelli dei contenuti
admin/content/nodewords/meta-tags
ho lasciato tutte le voci in bianco perhè la maggior parte dei nodi è costituita dalla galleria di immagini e quindi ho preferito andare a modificare direttamente il codice del modulo
sites/all/modules/nodewords/nodewords_basic/nodewords_basic.module
/**
* Set the meta tag content.
*/
function nodewords_basic_description_prepare(&$tags, $content, $options) {
switch ($options['type']) {
case NODEWORDS_TYPE_NODE:
$bool = (
count($options['ids']) == 1 &&
($node = node_load($options['ids'][0]))
);
if ($bool) {
$content['value'] = nodewords_metatag_from_node_content($node, $content['value']);
switch ($node->type) {
case image:
$content['value'] = $node->title.' '.nodewords_metatag_from_node_content($node, $content['value']);
break;
}
}
break;
case NODEWORDS_TYPE_TERM:
$bool = (
empty($content['value']) &&
count($options['ids']) == 1 &&
($term = nodewords_get_term($options['ids'][0]))
);
if ($bool) {
if (module_exists('i18ntaxonomy') && is_numeric($term->tid) && i18ntaxonomy_vocabulary($term->vid) == I18N_TAXONOMY_LOCALIZE) {
$term->name = tt("taxonomy:term:$term->tid:name", $term->name) ;
$term->description = tt("taxonomy:term:$term->tid:description", $term->description);
}
$content['value'] = $term->name.' '.$term->description;
}
break;
case NODEWORDS_TYPE_VOCABULARY:
// TODO: probably we have to do a db_rewrite_sql() query here so access is restricted
$bool = (
empty($content['value']) &&
count($options['ids']) == 1 &&
($voc = taxonomy_vocabulary_load($options['ids'][0]))
);
if ($bool) {
$content['value'] = $voc->description;
}
break;
}
$tags['description'] = empty($content['value']) ? (!empty($options['default']['description']['value']) ? $options['default']['description']['value'] : '') : $content['value'];
}
/**
* Set the meta tag content.
*/
function nodewords_basic_keywords_prepare(&$tags, $content, $options) {
$value = variable_get('nodewords_global_keywords', '');
if (empty($content['value'])) {
$value .= ',' . (!empty($options['default']['keywords']['value']) ? $options['default']['keywords']['value'] : '');
}
else {
$value .= ',' . $content['value'];
}
if ($options['type'] == NODEWORDS_TYPE_NODE && module_exists('taxonomy') && count($options['ids']) == 1) {
$node = node_load($options['ids'][0]);
$terms = taxonomy_node_get_terms($node);
if (function_exists('i18ntaxonomy_localize_terms')) {
$terms = i18ntaxonomy_localize_terms($terms, array('name'));
}
foreach ($terms as $term) {
//foreach (taxonomy_node_get_terms($node) as $term) {
if (in_array($term->vid, variable_get('nodewords_keyword_vids', array()))) {
$value .= ',' . $term->name;
}
}
}
elseif ($options['type'] == NODEWORDS_TYPE_TERM) {
$terms = array();
foreach ($options['ids'] as $id) {
$term = nodewords_get_term($id);
if ($term) {
if (module_exists('i18ntaxonomy') && is_numeric($term->tid) && i18ntaxonomy_vocabulary($term->vid) == I18N_TAXONOMY_LOCALIZE) {
$term->name = tt("taxonomy:term:$term->tid:name", $term->name);
}
$terms[] = $term->name;
}
}
if (count($terms)) {
$value .= ',' . implode(',', $terms);
}
}
$tags['keywords'] = nodewords_unique($value);
}
admin/content/taxonomy/edit/vocabulary/2 (riguarda il vocabolario per la galleria)
ho spuntato:
Localize terms. Terms are common for all languages, but their name and description may be localized.
Tipi di contenuto: Image
Impostazioni -
Tag
Selezione multipla
ho lasciato in bianco Meta tag
Le impostazioni degli altri vocabolari è identica a quello delle immagini con unica differenza che ho flaggato come 'Richiesto'
Ho sistemato tutti i link di errore con admin/build/path-redirect
Hp ricostruito la sitemap admin/settings/xmlsitemap/rebuild
Ho rimodificato il file robots.txt
User-agent: *
Crawl-delay: 10
# Directories
Disallow: /includes/
Disallow: /misc/
Disallow: /modules/
Disallow: /profiles/
Disallow: /scripts/
Disallow: /sites/all/
Disallow: /sites/tmp/
Disallow: /sites/default/files/css/
Disallow: /sites/default/files/ctools/
Disallow: /sites/default/files/galleria/
Disallow: /sites/default/files/js/
Disallow: /sites/default/files/languages/
Disallow: /sites/default/files/xmlsitemap/
Disallow: /sites/default/files/tmp/
Disallow: /themes/
# Files
Disallow: /sites/settings.php
Disallow: /sites/default.settings.php
Disallow: /CHANGELOG.txt
Disallow: /cron.php
Disallow: /INSTALL.mysql.txt
Disallow: /INSTALL.pgsql.txt
Disallow: /install.php
Disallow: /INSTALL.txt
Disallow: /LICENSE.txt
Disallow: /MAINTAINERS.txt
Disallow: /update.php
Disallow: /UPGRADE.txt
Disallow: /xmlrpc.php
# Paths (clean URLs)
Disallow: /admin/
Disallow: /comment/reply/
Disallow: /contact/
Disallow: /logout/
Disallow: /node/add/
Disallow: /search/
Disallow: /user/register/
Disallow: /user/password/
Disallow: /user/login/
# Paths (no clean URLs)
Disallow: /?q=admin/
Disallow: /?q=comment/reply/
Disallow: /?q=contact/
Disallow: /?q=logout/
Disallow: /?q=node/add/
Disallow: /?q=search/
Disallow: /?q=user/password/
Disallow: /?q=user/register/
Disallow: /?q=user/login/
Il file robots.txt non permette ai crawler di entrare nella cartella sites ma questo impedisce di idicizzare il nostro sito per immagini
queste righe bloccano le cartelle in sites ma mi permettono di far indicizzare tutte le altre cartelle create da pathauto
Disallow: /sites/all/
Disallow: /sites/tmp/
Disallow: /sites/default/files/css/
Disallow: /sites/default/files/ctools/
Disallow: /sites/default/files/galleria/
Disallow: /sites/default/files/js/
Disallow: /sites/default/files/languages/
Disallow: /sites/default/files/xmlsitemap/
Disallow: /sites/default/files/tmp/
Disallow: /sites/settings.php
Disallow: /sites/default.settings.php
Per concludere ho resettato il modulo per la ricerca
admin/settings/search
e lo ho ricostrito tramite cron
Ho reinviato la sitemap a google
Situazione finale:
Al momento mi da 25 titoli duplicati e una decina di errori dovuti alla disabilitazione dei feed
Dopo tutte queste ore buttate spero di aver definitivamente risolto il problema
Spero la mia esperienza possa essere utile anche ad altri
ciao
www.cactipedia.info
Problema risolto
Ho definitivamente risolto il problema, non ho più alcun duplicato
www.cactipedia.info
Salve a tutti,
ho un problema forse simile al vostro, ho installato il modulo i18n e ho inserito i contenuti in due lingue, it ed en, ma ho una vista al tipo di contenuto e purtroppo mostra i nodi sia in inglese che in italiano, sapete dirmi per favore se e come si può evitare di avere il duplicato?
Grazie in anticipo :)
lucasanna.eu