Joomla.it Forum
Componenti per Joomla! => Gestione sito multilingua => : alexsis 13 Jul 2016, 15:41:07
-
Salve a tutti
Ho ricevuto alcuni giorni fà la notifica da Google Search Console
Implementazione del tag hreflang sbagliata sul sito http://www.graminvestigazioni.it/ (http://www.graminvestigazioni.it/),
dopo aver verficato i tag e visto che tutto andava apparentemente bene, ho aperto una discussione sul forum di google webmaster, e mi dicono tra le varie cose, che il problema si pone a causa della presenza dello slash finale, ovvero
http://www.graminvestigazioni.it/it/ (http://www.graminvestigazioni.it/it/)
e http://www.graminvestigazioni.it/it (http://www.graminvestigazioni.it/it)
non puntano alle stesse pagine ma a pagine diverse, o per meglio dire la pagina è la stessa ma la presenza dello slash finale fa si che i codici
<link href="http://www.graminvestigazioni.it/it/" rel="alternate" hreflang="it-IT" />
<link href="http://www.graminvestigazioni.it/en/" rel="alternate" hreflang="en-GB" />
<link href="http://www.graminvestigazioni.it/it/" rel="alternate" hreflang="x-default" />
non siano inseriti e questo fà dire a google che ci sono problemi..
ovviamente posso modificare il comportamento usando il Redirect Manager di joomla, impostando la pagina giusta,
(non l'ho ancora fatto perche voglio vedere se si trova un altra soluzione ;) ) ma ho notato che questo accade anche alle altre pagine, e mi chiedevo se c'era un metodo più elegante
Nessuna soluzione??
ps sto usando joomla 3.5.1 e osmap
-
Anche a me un sito mi ha dato i tuoi stessi problemi e sto cercando di capire come risolvere..
-
finora nessuna risposta..
-
cerca nel forum, ci sono altri post con la stessa domanda a cui ho risposto anche io
-
Intendi questo post?
http://forum.joomla.it/index.php/topic,253082.0
Io avevo questo codice e basta:
<html lang="<?php echo $template->language; ?>" dir="<?php echo $template->direction; ?>" >
e ho sostituito con questo
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="<?php echo $this->language; ?>" lang="<?php echo $this->language; ?>" dir="<?php echo $this->direction; ?>">
e sopra a questo
<?php echo $this->getDoctype(); ?>
ho aggiunto questo
<?php
$this->language = $doc->language;
$this->direction = $doc->direction;
?>
Tutto corretto vero? :)
Grazie mille Giusebos!
-
si corretto, ma nell'ultima parte che hai scritto, eliminerei i due blocchi di php unificandoli e modificandoli così:
<?php
$app = JFactory::getApplication();
$doc = JFactory::getDocument();
$user = JFactory::getUser();
$templateparams = $app->getTemplate(true)->params;
$this->language = $doc->language;
$this->direction = $doc->direction;
?>
naturalmente la riga dei parametri può essere omessa se non hai parametri
$templateparams = $app->getTemplate(true)->params;
-
Scusate, ma questo codice va bene per qualsiasi sito?
-
no