- Home
- Categorie
- Coding e Sistemistica
- Joomla!
- joomla url duplicati e contenuti duplicati cosa consigliate
-
joomla url duplicati e contenuti duplicati cosa consigliate
Salve
ho un sito con una struttura che prevedete sotto categorie
se io vado in una sotto categoria cliccando sul rispettivo bottone del menù
nella barra degli indirizzi ho
mysite.com/it/category/subcategory
ma se provo a immettere la seguente url
visualizzo la stessa pagina
ho letto che i cms come joomla potrebbero generare problemi di conteuti duplicati
tra le soluzioni proposte ho notato che una molto interessante è quella dell'utilizzo delle url canonical
ma anlizzando l'head delle due pagine rispettivamente ho
nel primo caso
<link href="mysite.com/it/category/subcategory" rel="canonical">
e nel secondo caso
<link href="mysite.com/it/subcategory" rel="canonical">
quindi avrei due url diverse ma che puntanto agli stessi contenuti
invece andando alla pagina di un alrticolo delle sottocategorie
nella barra degli indirizzi ottengomysite.com/it/subcategory/myarticle
ma se provo con
mysite.com/it/category/subcategory/myarticle
vado alla stessa pagina
le url canoniche sono rispettivamente
nel primo caso
<link href="mysite.com/it/subcategory/myarticle" rel="canonical">
e nel secondo caso
<link href="mysite.com/it/category/subcategory/myarticle" rel="canonical">
due url diverse ma stessi contenuti
potreste aiutarmi a risolvere
voi che soluzione addotereste e perché?
grazie
-
Ciao p_il_musicante e benvenuto sul Forum GT.
Alcune estensioni SEO SEF ti permettono di scegliere la forma di url che preferisci tra categoria1/categoria2/pagina e categoria2/pagina quando categoria2 è sottocategoria di categoria1, ma questo non toglie che i link siano entrambi funzionanti e che quindi, riferendosi allo stesso contenuto, debbano mostrare lo stesso link rel canonical.Specifica per piacere quale versione di Joomla è installata e se hai eventuali estensioni che generano il rel canonical.
Tre le due url mysite.com/it/category/subcategory/myarticle e mysite.com/it/subcategory/myarticle salvo casi particolari preferisco quest'ultima o, se fosse possibile, addirittura mysite.com/it/myarticle o it.mysite.com/myarticle. Il problema però è un altro: devi scegliere l'url usata all'interno di Joomla, che deve essere quella linkata nei menu: se quindi nel menu usi la prima versione (mysite.com/it/category/subcategory/myarticle) allora il link rel canonical deve essere:
<link href="mysite.com/it/category/subcategory/myarticle" rel="canonical">
Ricapitolando, hai bisogno di gestire il rel canonical sulle url generate dal com_content: se l'attuale comportamento non ti soddisfa (e se mostra link rel canonical diversi per url che puntano allo stesso contenuto non ti può soddisfare) allora installa un componente seo sef che gestisca anche il rel canonical oppure un plugin dedicato.
Non ti consiglio alcuna estensione perché non ne ho mai trovata una che mi garantisse al 100%, magari altri utenti ci daranno un buon consiglio, farebbe comodo anche a me avere una dritta su una buona estensione.
Intanto puoi cercare in JED: extensions.joomla.org/category/site-management/seo-a-metadataFrancesco
-
Ciao FDA
Grazie per la tua risposta
utilizzo joomla ver 3.3.6 e non ho installate estensioni che gestiscano il rel canonical.Alcune estensioni SEO SEF ti permettono di scegliere la forma di url che preferisci tra categoria1/categoria2/pagina e categoria2/pagina quando categoria2 è sottocategoria di categoria1, ma questo non toglie che i link siano entrambi funzionanti e che quindi, riferendosi allo stesso contenuto, debbano mostrare lo stesso link rel canonical
sono daccordissimo ma nel mio caso i rel canonical puntanto rispettivamente alle pagine raggiugibili da link differenti e quindi mostrano diversi rel canonical pur puntanto allo stesso contenuto.
Tre le due url mysite.com/it/category/subcategory/myarticle e mysite.com/it/subcategory/myarticle salvo casi particolari preferisco quest'ultima o, se fosse possibile, addirittura mysite.com/it/myarticle o it.mysite.com/myarticle. Il problema però è un altro: devi scegliere l'url usata all'interno di Joomla, che deve essere quella linkata nei menu: se quindi nel menu usi la prima versione (mysite.com/it/category/subcategory/myarticle) allora il link rel canonical deve essere:
Codice:<link href="mysite.com/it/category/subcategory/myarticle" rel="canonical">
andando nell'articolo ho la seguente url
*mysite.com/it/subcategory/myarticle* ``` e rispettivo canonical ``` <link href="mysite.com/it/subcategory/myarticle" rel="canonical">
ma se vado alla pagina della sotto categoria cliccando sul riferimento del menù ho la seguentee URL
mysite.com/it/category/subcategory ``` con rispettivo canonical ``` <link href="mysite.com/it/category/subcategory" rel="canonical">
già avevo dato un'occhiata alla JED ma dopo aver provato in ambiente di ceritifcazione alcune estensione tipo JoomSEF e non avendo risultati soddisfacenti se possibible vorrei evitare l'utilizzo di estensione (anche perchè sto cercando di utilizzarne il meno possibile per vari motivi legati alla security)
si potrebbe fare qualcosa sul core del codice che gestisce il canonical o tramite htaccess con i redirect ?
-
un'altra cosa
ho notato che se nella barra degli indirizzi digito
viene visualizzato nella home del sito l'articolo con id corrispondente al numero digitato
e analizzando l'Head della pagina
ho la seguente riga
<link href="http: //w w w.mysite.com/it/home?id=3" rel="canonical">
come soluzione io ho testato questa inserendo due righe nel .htaccess
#RewriteCond %{THE_REQUEST} ^.*/it/[0-9] #RewriteRule ^(.*)$ http: // w w w.mysite.com/it/ [R=301,L]
voi che ne pensate è corretto un 301 o sarebbe meglio un 404?
-
Per la questione delle url legate agli id dell'articolo ti consiglio di leggere questa discussione:
http://www.giorgiotave.it/forum/joomla/220239-url-duplicati-non-ce-la-faccio-piu.htmlLe url sono dovute a sistema di routing di Joomla.
Dopo esserci confrontati si è deciso che a quelle url fosse preferibile rispondere con un 404, eventualmente mostrando una "pagina 404 personalizzata" che suggerisse anche il link verso l'articolo con id.
La scelta era comunque tra il 404 e il 301 verso l'articolo, mai ipotizzato il 301 verso la home perché sarebbe una scelta immotivata.
Dubito che si possa risolvere il problema via htaccess, anche perché se non si sfrutta Joomla è impossibile risalire alla pagina dell'id articolo, senza considerare che le istruzioni suggerite non sono sufficienti a risolvere il problema in quanto le seguenti url condurrebbero allo stesso articolo con id=3:mysite.com/it/3 mysite.com/it/categoria/3 mysite.com/it/categoria1/categoria2/3-blabla mysite.com/it/ ... /3 ...
L'ultima url sta a dire che puoi inserire un numero a piacere di segmenti tra slash e di testi dopo il 3 ed ottenere sempre la stessa pagina.
-
Grazie FDA
per le url legate agli id dell'articolo
tu hai già sviluppato qualche soluzione?riotrnado invece al caso delle category e subcategory
le potresti risolvere con dei redirect 301?che suggerisci altrimenti?
-
Non è facile sviluppare soluzioni che possano essere generalizzate su tutti i siti e che quindi siano compatibili con altre estensioni. Questa a mio parere è una delle cause che spinge gli sviluppatori a non pubblicare le estensioni fatte in casa, che magari invece funzionano su singoli siti.
per le url legate agli id dell'articolo tu hai già sviluppato qualche soluzione?
La risposta secca è: no, non ho soluzioni. Ho risolto su diversi siti il problema scrivendomi un plugin, ma nulla che sia generalizzato e che si possa esportare, perché sarebbe sufficiente l'installazione di un'estensione seo/sef per mandare il sito a gambe all'aria.
Come ho già detto altre volte, secondo me serve un'estensione seo/sef che faccia tutto e che diventi un punto di riferimento come Yoast per WP, cosa che secondo me per Joomla al momento non esiste.riotrnado invece al caso delle category e subcategory le potresti risolvere con dei redirect 301?
Qui andrebbe capito bene cosa accade sul sito in questione, perché dai post sopra si possono ipotizzare cose diverse.
Alcuni problemi si verificano a causa della creazione di menu diversi e di opzioni particolari, quindi sono indotti dal webmaster. Se ad esempio la categoria/il menu per it/category/subcategory prevede un unico articolo e questo viene mostrato integralmente, allora per l'effetto di altre opzioni è chiaro che le seguenti url potrebbero mostrare lo stesso contenuto:- it/category/subcategory
it/category/subcategory/myarticle*
Diverso è il caso di:
- it/category/subcategory/myarticle
it/subcategory/myarticle*
che andrebbe invece analizzato a livello di menu. Per queste sarei curioso di vedere le url e i menu esistenti. Il mio consiglio è di analizzare il sito e cercare di capire perché si presentano, in modo da prevenire invece di curare. Il dubbio sui "menu diversi" mi è venuto leggendoti:
puntanto rispettivamente alle pagine raggiugibili da link differenti
Verifica quindi se esistono e se puoi eliminare menu che sono fonte di url sbagliate.
- it/category/subcategory
-
Ho risolto su diversi siti il problema scrivendomi un plugin
sarebbe possibile testare questo plug in per verificare se nel mio caso potesse risolvere la questione degli id nelle url?
Se ad esempio la categoria/il menu per it/category/subcategory prevede un unico articolo e questo viene mostrato integralmente, allora per l'effetto di altre opzioni è chiaro che le seguenti url potrebbero mostrare lo stesso contenuto:
- it/category/subcategory
it/category/subcategory/myarticle*
questo caso lo escluderei poichè nelle pagine catogria si visulizza solo l'immagine introduttiva, titolo e sotttotitolo di un articolo
Il dubbio sui "menu diversi" mi è venuto leggendoti:
nel mio caso ho l'Head menù ed il footer menù
dove le sotto categorie sono organizzate come colonne del footer menù e quindi direttamente raggiungibili e non coem nell'HEAD menu da una categoria principale e poi sotto-cateogoria (qui però il tutto non avviene prima andando dalla pagina categoria pricipale e poi da lì è presente la lista delle sotto-categorie ma direttamente dall'HEAD menu con diverse opzioni selezionabili partendo dal "bottone della categoria principale")
quindi se io vado nella sotto categoria dal footer menù ho la seguente URL
*it/subcategory
*
ma se la seleziono dall'HEAD menù ho la seguente URL
it/category/subcategorypoi ho anche le categoria principali presenti nel footer menù dalle quali vado al seguete url
it/category-footer (ho dovuto aggiungere -footer poichè il sistema non mi permetteva di dare lo stesso alias)gli articoli invece hanno la seguente url
it/subcategory/myarticle (nel caso di sotto-categoria)
it/category/myarticle (nel caso di categoria principale)quindi i link "cliccabili" per gli articoli hanno la seguente struttura /category/artcile
altro è se provo a scrivere a mana per raggiugenre un'articolo presente in una sotto categoria
come potrei risolvere?
- it/category/subcategory
-
Ho studiato il problema del routing di Joomla ed è complesso, il sistema ha delle caratteristiche che rendono difficile il compito dei componenti seo/sef al punto che anche le più note estensioni a pagamento non risolvono al 100%.
Il mio plugin è una soluzione particolare e funziona su una data configurazione, che tradotto vuol dire che non è una soluzione generalizzata (altrimenti l'avrei distribuito free). Il mio parere, personalissimo e non condiviso da altre persone, è che al momento soltanto l'intervento "manuale" dei webmaster/seo permette ai singoli siti di essere configurati al meglio.Se facessi un elenco delle "url pazze" ci sarebbe da andare in ansia, quelle che hai trovato non sono che una minima parte di quelle che si possono generare.
Un mini argine a tutto questo è costituito dall'uso corretto dei menu, che sono associati ad alias e url nuove.come potrei risolvere?
Per quanto mi sforzi non ho il tuo sito davanti e non riesco a fare una diagnosi a distanza, ti dico soltanto che se fosse il mio sito analizzerei a fondo i menu per capire se sono co-responsabili di alcune di queste url, cosa probabile. Fatta pulizia e riscritti i menu in modo corretto, testerei tra le estensioni seo/sef disponibili quella che nel caso specifico ma meno danni. Interventi via htaccess solo in casi particolarissimi, occorre fare molta attenzione.
-
ti rigrazio
rivedo i menù
e ti faccio sapere
-
Forse ho risolto per quanto rigurda le url delle categorie raggiugibili dai due menù
ossia nel footer menù avendo le stesse categorie che ho nell'Head menù
invece di creare una nuova voce dello stesso tipo dell'Head menù e con lo stesso nome
creo un alias dell voce menù con lo stesso nome della voce dell'Head menù
e quindi avrei le stesse url cliccando sulle categorie dell'Head menù partendo anche dal footer menù
per gli articoli invece come ho già detto sopra se vado in un articolo appartenente ad una subcategory ho la seguente url
/it/subcategory/myarticle
ma se inserisco a mano
/it/category/subcateogry/myarticle
vado allo stesso articolo
con due url diverse raggiungo gli stessi contenuti
il secondo caso non è generato in automatico ma solo scrivendo a mano l'url
secondo voi quale URL sarebbe corretta e perchè
e come mi potrei ricondurre ad un unica url
grazie
-
La soluzione dell'alias ai menu è corretta.
La cosa delle url inserite a mano (come per /it/subcategory/myarticle e /it/category/subcateogry/myarticle) dipende da Joomla. Come ho detto non ho trovato la soluzione generale e al momento l'unico modo per difendersi è fare attenzione alla configurazione, ai menu e ai link inseriti a qualunque titolo.
-
ok
cofermo che la soluzione risolve i problemi di url duplicate ed anche quelle inserite a mano
ad es.
ho un articolo in una subcategory
quindi il path per raggiungerlo è il seguente
/it/category/subcategory/myarticlese provo ad inseire a mano
/it/category/myarticlemi ritorna una pagina 404
e la stessa cosa accande se provo con
/it/subcategory/myarticlequindi adesso dovrebbe esistere un unico percoso assoluto per raggiungere le risorse nelle sottocategorie e nelle categorie
spero possa essere utile a qualcuno che ha lo stesso problema (in pratica nel caso pdi due o più menù che puntato agli stessi contenuti e consigliabile utilizzare uno con le voci del menù configurate per puntare ai contenuti e gli altri con le voci come alias di quello che punta ai contenuti)
tocca solo risolvere la questione legata ai numeri nelle url
io per adesso adotto questo workaorund per la sola home del sito
nel file .htaccess iserisco le seguenti righe
L'espressione regolare (\w{2})? serve ad includere l'eventuale codice di lingua, che non fa parte del routing del componente, ma è presente nell'url della pagina. l'url SEF può avere o meno il codice di lingua
RewriteCond %{REQUEST_URI} ^(/\w{2})?/[0-9] RewriteRule .* - [L,R=404]
-
A mio parere le ultime istruzioni riguardo l'htaccess non vanno inserite, meglio non fare nulla.
-
Ciao FDA
ho trovato delle righe di codice che almeno nel mio caso recuperano l'url corretto anche se metto a mano un numero nell'url
$uri = JURI::getInstance(); require_once(JPATH_SITE . '/components/com_content/helpers/route.php'); $link_article = JRoute::_(ContentHelperRoute::getArticleRoute($row->id, $row->catid)); $link_article = $uri->getScheme() . "://" . $uri->getHost() . $link_article;
queste righe le ho recupaerate da un plug in che inserice un meta tag particolare ed analizzando l'html della pagina ho notato che l'url che pescava era semrpe quello dove si trovava la risorsa (parlo del caso particolare riferito alla pagina articolo)
in pratica se io scrivo
oppure
la variabile $link_article mi restituirà il riferimento corretto
adesso potrei fare un costrutto condizionale dove solo per view article
confrontando $link_article con l'url della query
nel caso sia diversi mi restiuisce la pagina errore articolo non trovato con status 404solo che non saprei come procedere
secondo voi è la strada corretta?
-
Salve
ho testato il seguente codice
// in caso di url "sbagliata" verso la pagina articolo $uri_correct = JURI::getInstance(); require_once(JPATH_SITE . '/components/com_content/helpers/route.php'); $link_article_correct = JRoute::_(ContentHelperRoute::getArticleRoute($this->item->id, $this->item->catid)); $link_article_correct = $uri_correct->getScheme() . "://" . $uri_correct->getHost() . $link_article_correct; $currenturl = JURI::current(); // url corrente if ($currenturl != $link_article_correct) { $this->error = JError::raiseError(404, JText::_('COM_CONTENT_ERROR_ARTICLE_NOT_FOUND')); $this->debug = false; }
e sembrerebbe funzionare
cioè quando
inserisco a manooppure
mi restituisce la pagina di errore 404
che ne pensate è corretto tale comportamento?
-
Ciao,
farò un test, ma a occhio non risolve.
-
Ti ringrazio.
nel caso non adempisse del tutto al compito potresti aiutarmi a migliorarlo
-
Questione interessante e da seguire, sono d'accordo.
Grazie a te.
-
Ciao
Buone Feste a tutti
hai avuto modo di testare il codice?
ah dimenticavo
il codice l'ho inserito nel file che genera la pagina articolo
templates/mytemplate/html/com_content/article/default.php
così viene richiamato solo quando viene richiesta una pagina articolo
l'ho inserito tra i tag <?php ?> prima dell'html dentro il file