itora web

11Apr/100

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

24Mar/100

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