Month: octobre 2008
PHP: optimiser ses URL pour les moteurs de recherches
- by admin
L’optimisation pour les moteurs de recherche, appelé aussi SEO (de l’anglais Search engine optimization) est un ensemble de techniques visant à favoriser la compréhension de la thématique et du contenu d’une ou de l’ensemble des pages d’un site web par les moteurs de recherche. Ces techniques visent donc à apporter un maximum d’informations concernant le contenu d’une page web aux robots d’indexation des moteurs de recherche. Et une des premières choses à faire pour aider les robots à indexer correctements votre site est de nommé « correctement » ses urls.
- URL « pas correct »:
http://www.monsite.com/page.php?id=10&cat=2
- URL « optimisée » :
http://www.monsite.com/10-optimiser-ses-url.html
Pour réalisé celà, j’ai récupérer plusieurs fonctions à droite à gauche de la toile et voici celles que j’utilise:
[php]
// les mots à exclures
$bad_words = array(‘a’,'and’,'the’,'an’,'it’,'is’,'with’,'can’,'of’,'why’,'not’,'\ »);
// une première pour supprimers les accents
function remove_accents($str, $charset=’iso-8859-1′) {
$str = htmlentities($str, ENT_NOQUOTES, $charset);
$str = preg_replace(‘#\&([A-za-z])(?:acute|cedil|circ|grave|ring|tilde|uml)\;#’, ‘\1′, $str);
$str = preg_replace(‘#\&([A-za-z]{2})(?:lig)\;#’, ‘\1′, $str); // pour les ligatures e.g. ‘œ’
$str = preg_replace(‘#\&[^;]+\;#’, », $str); // supprime les autres caractères
return $str;
}
// une autre pour supprimer certains mots qu’on définit dans le tableau $bad_words par exemple, supprimer les mots doubles
function remove_words($input,$replace,$words_array = array(),$unique_words = true)
{
$input_array = explode(‘ ‘,$input);
$return = array();
foreach($input_array as $word)
{
if(!in_array($word,$words_array) && ($unique_words ? !in_array($word,$return) : true))
{
$return[] = $word;
}
}
return implode($replace,$return);
}
// et la fonction a appelé qui fait appel aux 2 autres
function OptimiseUrl($input,$replace = ‘-’,$remove_words = true,$words_array = array())
{
$return = remove_accents($input);
$return = trim(ereg_replace(‘ +’,’ ‘,preg_replace(‘/[^a-zA-Z0-9-\s]/’, »,strtolower($return))));
if($remove_words) { $return = remove_words($return,$replace,$words_array); }
return str_replace(‘ ‘,$replace,$return);
}
// Exemple:
//$titre = "Via Evolène";
//$titre_url = OptimiseUrl($titre,’-',true,$bad_words);
// echo $titre_url;
// résultat: via-evolene
[/php]
Ensuite un .htaccess pour rediriger les urls, et le tour est joué. Google, par exemple, ne prends même pas en charge les url en .php suivis de paramètres
A night against faschism
- by admin

SOUND FOR UNITY proudly presents:
Plus d’infos ici !
Une autre soirée dans la suite.
PHP: Calculer la taille d'un répertoire
- by admin
2 Petites fonctions pour calculer la taille d’un répertoire en PHP:
[php]
// Pour calculer la taille d’un répertoire de façon récursive, résultat en Bytes
function TailleRepertoire($DirectoryPath) {
$Size = 0;
$Dir = opendir($DirectoryPath);
if (!$Dir)
return -1;
while (($File = readdir($Dir)) !== false) {
// On ne prends pas les points
if ($File[0] == ‘.’) continue;
// Sous-dossier ou la taille des fichiers
if (is_dir($DirectoryPath . $File))
$Size += TailleRepertoire($DirectoryPath . $File . DIRECTORY_SEPARATOR);
else
$Size += filesize($DirectoryPath . $File);
}
closedir($Dir);
return $Size;
}
function TaillePourHumais($size) {
// Pour afficher la taille en Ko, Mo, Go…
// Adaptation: http://www.php.net/manual/en/function.filesize.php
$mod = 1024;
$units = explode(‘ ‘,’B KB MB GB TB PB’);
for ($i = 0; $size > $mod; $i++) {
$size /= $mod;
}
return round($size, 2) . ‘ ‘ . $units[$i];
}
$TailleEnBytes = TailleRepertoire(‘data/’);
echo $TailleEnBytes;
echo "<br />";
echo TaillePourHumais($TailleEnBytes);
[/php]
Résultat:
50996647
48.63 MB