PHP 集成友好url Generate Search Engine Friendly URLs with PHP Functions
2014-07-25 18:07
676 查看
Generating search engine friendly (SEF) URLs can dramatically improve your search engine results. There's a big difference between "/post.php?id=2382" and "/great-php-functions/". Having search engine friendly URLs also gives the user an idea of what will be
on the page they are clicking on if the link text isn't adequate.
I've created sister PHP functions to generate search engine friendly URLs for the CMS' I create for my customers. The idea is fairly simple. I take the user-created page title and feed it to a scrubbing function to:
remove all punctuation
switch the URL to lowercase
remove spaces, replace with a given delimiter (in this case, a dash)
remove duplicate words
remove words that aren't helpful to SEO
Php代码
/* takes the input, scrubs bad characters */
function generate_seo_link($input, $replace = '-', $remove_words = true, $words_array = array()) {
//make it lowercase, remove punctuation, remove multiple/leading/ending spaces
$return = trim(ereg_replace(' +', ' ', preg_replace('/[^a-zA-Z0-9\s]/', '', strtolower($input))));
//remove words, if not helpful to seo
//i like my defaults list in remove_words(), so I wont pass that array
if($remove_words) { $return = remove_words($return, $replace, $words_array); }
//convert the spaces to whatever the user wants
//usually a dash or underscore..
//...then return the value.
return str_replace(' ', $replace, $return);
}
/* takes an input, scrubs unnecessary words */
function remove_words($input,$replace,$words_array = array(),$unique_words = true)
{
//separate all words based on spaces
$input_array = explode(' ',$input);
//create the return array
$return = array();
//loops through words, remove bad words, keep good ones
foreach($input_array as $word)
{
//if it's a word we should add...
if(!in_array($word,$words_array) && ($unique_words ? !in_array($word,$return) : true))
{
$return[] = $word;
}
}
//return good words separated by dashes
return implode($replace,$return);
}
The function accepts four values:
$input - string - will be SEO'd, in my case, the page title
$replace - string - the word separator, in most cases a dash or underscore
$remove_words - boolean - remove specific, non-helpful SEO words
$words_array - array - an array of words that should be removed from every URL because they aren't helpful to SEO
Php代码
$bad_words = array('a','and','the','an','it','is','with','can','of','why','not');
echo generate_seo_link('Another day and a half of PHP meetings', '-', true, $bad_words);
//displays :: another-day-half-php-meetings
echo generate_seo_link('CSS again? Why not just PHP?', '-', true, $bad_words);
//displays :: css-again-just-php
echo generate_seo_link('A penny saved is a penny earned.', '-', true, $bad_words);
//displays :: penny-saved-earned
Do yourself a favor -- make your dynamic pages more search engine friendly with clean URLs!
来源:http://davidwalsh.name/php-seo
on the page they are clicking on if the link text isn't adequate.
I've created sister PHP functions to generate search engine friendly URLs for the CMS' I create for my customers. The idea is fairly simple. I take the user-created page title and feed it to a scrubbing function to:
remove all punctuation
switch the URL to lowercase
remove spaces, replace with a given delimiter (in this case, a dash)
remove duplicate words
remove words that aren't helpful to SEO
The Code
Php代码 /* takes the input, scrubs bad characters */
function generate_seo_link($input, $replace = '-', $remove_words = true, $words_array = array()) {
//make it lowercase, remove punctuation, remove multiple/leading/ending spaces
$return = trim(ereg_replace(' +', ' ', preg_replace('/[^a-zA-Z0-9\s]/', '', strtolower($input))));
//remove words, if not helpful to seo
//i like my defaults list in remove_words(), so I wont pass that array
if($remove_words) { $return = remove_words($return, $replace, $words_array); }
//convert the spaces to whatever the user wants
//usually a dash or underscore..
//...then return the value.
return str_replace(' ', $replace, $return);
}
/* takes an input, scrubs unnecessary words */
function remove_words($input,$replace,$words_array = array(),$unique_words = true)
{
//separate all words based on spaces
$input_array = explode(' ',$input);
//create the return array
$return = array();
//loops through words, remove bad words, keep good ones
foreach($input_array as $word)
{
//if it's a word we should add...
if(!in_array($word,$words_array) && ($unique_words ? !in_array($word,$return) : true))
{
$return[] = $word;
}
}
//return good words separated by dashes
return implode($replace,$return);
}
The Explanation
The function accepts four values:$input - string - will be SEO'd, in my case, the page title
$replace - string - the word separator, in most cases a dash or underscore
$remove_words - boolean - remove specific, non-helpful SEO words
$words_array - array - an array of words that should be removed from every URL because they aren't helpful to SEO
Example Results
Php代码 $bad_words = array('a','and','the','an','it','is','with','can','of','why','not');
echo generate_seo_link('Another day and a half of PHP meetings', '-', true, $bad_words);
//displays :: another-day-half-php-meetings
echo generate_seo_link('CSS again? Why not just PHP?', '-', true, $bad_words);
//displays :: css-again-just-php
echo generate_seo_link('A penny saved is a penny earned.', '-', true, $bad_words);
//displays :: penny-saved-earned
Do yourself a favor -- make your dynamic pages more search engine friendly with clean URLs!
来源:http://davidwalsh.name/php-seo
相关文章推荐
- Search Engine Friendly(搜索引擎友好)URL
- 如何提高在Google中的排名(3)——Search Engine Friendly的URL设计
- Search Engine Friendly的URL设计
- Professional Search Engine Optimization with PHP: A Developer's Guide to SEO
- Search Engine Friendly的URL设计
- Search Engine Friendly的URL设计
- Search Engine Friendly的URL设计
- Creating a Code Search Engine with PHP and MySQL(2)
- Creating a Code Search Engine with PHP and MySQL(1)
- 如何提高在Google中的排名——Search Engine Friendly的URL设计 ZT
- 如何提高在Google中的排名(3)——Search Engine Friendly的URL设计
- Create Dynamic URLs With Mod_Rewrite and PHP Functions
- 如何提高在Google中的排名(3)——Search Engine Friendly的URL设计
- These are useful functions when you are dealing with URL encoded URLs or POST data.
- Search Engine Safe (SES) URLs
- Code Search Engine Krugle Announces Partnership With Amazon
- [PHP][Functions]根据URL地址获得网页内容的多种方法
- Automatic Search Engine Performance Evaluation with Click-through Data Analysis
- PHP - Manual手册 - 函数参考 - CURL, Client URL Library Functions客户端URL库函数 - 概述
- Creating a real-time search engine with IndexTank and Heroku