Joomla.it Forum
Componenti per Joomla! => Gestione documenti e download => : MarcoJ 13 Jan 2017, 13:23:44
-
Ciao,
non ho trovato riferimenti a questo tema: se già ci fossero mi scuso.
Ho "ereditato" la manutenzione di un vecchio sito composto da molte centinaia di articoli in varie lingue, dei quali però solo alcuni sono effettivamente utilizzati.
Esiste un modo veloce per capire se uno specifico articolo è utilizzato (ossia linkato da un altro articolo, da una voce di menù, ecc.) all'interno del sito ?
Grazie mille
-
Ciao MarcoJ,
intanto puoi controllare se l'articolo è pubblicato o sospeso, se è sospeso non è visibile in frontend.
Poi se gli articoli sono associati a categorie, puoi verificare se ci sono voci di menu collegate a queste categorie, se una categoria o la sua categoria principale è collegata ad una voce di menu, allora tutti gli articoli appartenenti a quella categoria sono utilizzati nel sito e visibili ai visitatori
-
Grazie Ste,
già queste idee le avevo avute... ma trattandosi di un ambiente molto, molto articolato volvevo sapere se esisteva un modo semplice, p.e. una query sul db, per sapere se un articolo è "puntato" da qualche funzione.
Gli articoli infatti sono tutti pubblicati e le categorie sono quasi 100!
Insomma un delirio che se posso cerco di risparmiarmi... :)
Grazie mille comunque
-
Ciao,
hai due possibilità.
1. Il contatore visite di Joomla! Nella tabella #__content cerca il campo hits.
2. (molto più affidabile): guarda l'access log di apache
3. Cerca su google semplicemente : site:example.com ti restituisce tutte le url indicizzate
Naturalmente, dalle url per i punti 2. e 3. devi capire l'articolo, potresti anche avere centinaia di voci di menù puntati nel nulla, non è detto che sia sufficiente rimuovere gli articoli.
-
Grazie rezor,
purtroppo non mi va bene, nel senso che ho articoli che sono erano linkati correttamente, poi come spesso succede, il puntamento è stato rimosso, ma l'articolo rimasto e quindi ho la situazione di articoli che sono stati visitati, ma che non sono più raggiungibili.
Insomma un delirio.
Mi sembra a questo punto che mi dovrò mettere lì con calma (molta calma) e fare pulizia a mano.
Non metto RISOLTO perché in effetti non c'è stata una soluzione.
Grazie ancora a tutti
-
Beh allora devi passare alla seconda opzione:
2. apache: quelli che effettivamente sono visitati (lista più completa e sicura), guarda l' access_log del sito.
Ci capitano almeno un paio di volte l'anno situazioni del genere. Procedi così:
1. tira fuori le url dall'access log, e poi con sort | uniq -c | sort -n (oppure con excel) te le ordini per numero di hit.
2. tira fuori dal db la tabella content (id, title, alias) e menu (idem), e metti il tutto in tre colonne di un file excel
3. individua corrispondenze dapprima per id, poi per alias, poi cercando criteri ulteriori
- a) a fianco del foglio con la tabella menu, metti un flag per ciascuna delle voci che trovano corrispondenza nella prima tabella;
- b) a fianco del foglio con la tabella contenuti, metti un flag per ciascuna delle voci che trovano corrispondenza nella tabella menu;
4. ripeti 3 finché non sei riuscito a creare il massimo numero di corrispondenze
5. rimuovi dalla tabella 1., 2. e 3. tutte le righe per cui hai trovato corrispondenze
- la tabella 1. conterrà le url indicizzate o comunque raggiungibili presenti sul sito che non sei ancora riuscito a trovare;
- la tabella 2. conterrà le voci di menù non necessariamente utilizzate
- la tabella 3. conterrà gli articoli non usati
a questo punto vai di controllo manuale, noi di solito togliamo il 95% delle url o più in questo modo.
Se hai la fortuna di avere url non-SEF, itemId è l'id della voce di menù, id è l'id dell'articolo.