Friendly URL con CakePHP
Per una corretta indicizzazione del nostro sito sui motori di ricerca, le URL dovrebbero contenere delle parole chiave coerenti con i contenuti.
Ecco quindi che una pagina dalla url:
www.miosito.com/view/24
dovrebbe diventare
www.miosito.com/view/come-ottenere-friendly-url
per essere più appetibile al motore di ricerca.
Per ottenere delle Friendly URL in cakePHP basta scaricare dal repo su github di Mariano Iglesias "sluggable behavior" e metterlo in app/model/behavior/sluggable.php.
Aggiungrere questa linea nel model 'articolo', che dice a cake di usare il behaviors prima scaricato:
var $actsAs = array('Sluggable');
Ora l'articolo può essere richiamato da un nome significativo e non dall'id. Aggiungiamo quindi nella tabella 'Articoli' il campo 'slug'. Se volete cambiare il nome di questo campo, o utilizzare il campo title, o vedere altre opzioni, qui le potete trovare http://bakery.cakephp.org/articles/view/sluggable-behavior
Dovete poi modificare la funzione view del vostro controller, aggiungendo il campo slug.
function view($slug = null) {
if(!$slug){
$this->Session->setFlash(__('Invalid Articolo', true));
$this->redirect(array('action' => 'index'));
}
$articolo = $this->Articolo->findBySlug($slug);
$this->set('articolo', $articolo);
}
Per richiamare l'articolo, passiamo al metodo view il valore del campo slug anzichè l'id.
<?php echo $html->link('Articolo bello', array('controller'=>'Articoli', 'action'=>'view', 'valore del mio campo slug')) ?>
Per far si che ogni volta che aggiungete un nuovo articolo, o che vogliate modificarne uno esistente, venga aggiornato il valore del campo 'slug', dovete settare il valore di a true nel vostro model
var $actsAs = array('Sluggable' => array( 'overwrite' => true));
Una volta fatto questo, potremmo anche decidere di migliorare ulteriormente l'url, passando da:
www.miosito.com/view/come-ottenere-friendly-url
a
www.miosito.com/articoli_SEO/come-ottenere-friendly-url
per far questo basta aggiungere un alias nel file routes.php
Router::connect('/articoli_SEO/*', array('controller' => 'articoli', 'action' => 'view'));
In CakePHP si possono fare tante cose modificando il file routes.php.
Una buona lettura la trovate qui
conoscere la posizione di un dominio su google per determinate keywords
Si, lo script permette di fare quello che che dice il titolo di questo post.
Ho aggiunto allo script rankcheck.py un file di testo che elenca le keywords che vogliamo testare e un file che legge queste keywords e le passa a rankcheck.py.
Scaricarsi i file dal mio repo su github. Mettere tutto in una cartella nella vostra home directory. Settare i path del file rankcheck.py e keywords_list.txt in checkdomain.py. Nello stesso file, scegliete il dominio che volete testare.
Se volete i risultati su un file da passare al vostro cliente, dalla console:
python chekdomain.py > risultati.txt