WordPress hack: Efficient SEO without a plugin

Let’s start by pasting the code below into your functions.php file:

 function basic_wp_seo() 
{ 	
global $page, $paged, $post; 	
$default_keywords = 'wordpress, plugins, themes, design, dev, development, security, htaccess, apache, php, sql, html, css, jquery, javascript, tutorials'; 
// customize 	
$output = '';  	
// description 
$seo_desc = get_post_meta($  post->ID, 'mm_seo_desc', true); 	
$description = get_bloginfo('description', 'display'); 	$pagedata = get_post($post->ID); 	
if (is_singular()) { 		
if (!empty($seo_desc)) { 			
$content = $seo_desc; 		
}
else if (!empty($  pagedata)) { 			
$content = apply_filters('the_excerpt_rss', $  pagedata->post_content); 			
$content = substr(trim(strip_tags($content)), 0, 155); 			
$content = preg_replace('#\n#', ' ', $content); 			
$content = preg_replace('#\s{2,}#', ' ', $content); 			
$content = trim($content); 		
}  	
} 
else { 		
$content = $description;	 	
} 	
$output .= '<meta name="description" content="' . esc_attr($content) . '">' . "\n";  	
// keywords 	
$keys = get_post_meta($post->ID, 'mm_seo_keywords', true); 	
$cats = get_the_category(); 	
$tags = get_the_tags(); 	
if (empty($keys)) { 		
if (!empty($cats)) foreach($cats as $cat) $keys .= $cat->name . ', '; 
if (!empty($tags)) foreach($tags as $tag) $keys .= $tag->name . ', '; 		
$keys .= $default_keywords; 	} 	
$output .= "\t\t" . '<meta name="keywords" content="' . esc_attr($keys) . '">' . "\n";  	
// robots 	
if (is_category() || is_tag()) { 		
$paged = (get_query_var('paged')) ? get_query_var('paged') : 1; 		
if ($paged > 1) { 			
$output .=  "\t\t" . '<meta name="robots" content="noindex,follow">' . "\n"; 		} 
else { 	$output .=  "\t\t" . '<meta name="robots" content="index,follow">' . "\n"; 		} 	} 
else if (is_home() || is_singular()) { $output .=  "\t\t" . '<meta name="robots" content="index,follow">' . "\n"; 	} 
else {$output .= "\t\t" . '<meta name="robots" content="noindex,follow">' . "\n"; 	}  	
// title 	
$title_custom = get_post_meta($post->ID, 'mm_seo_title', true); 	
$url = ltrim(esc_url($_SERVER['REQUEST_URI']), '/'); 
$name = get_bloginfo('name', 'display'); 	
$title = trim(wp_title('', false)); 	
$cat = single_cat_title('', false); 	
$tag = single_tag_title('', false); 	
$search = get_search_query();  	if (!empty($title_custom)) $title = $title_custom; 	
if ($paged >= 2 || $page >= 2) $page_number = ' | ' . sprintf('Page %s', max($paged, $page)); 	
else $page_number = '';  	
if (is_home() || is_front_page()) 
$seo_title = $name . ' | ' . $description; 	
else if (is_singular())      $seo_title = $title . ' | ' . $name; 	
else if (is_tag()) $seo_title = 'Tag Archive: ' . $tag . ' | ' . $name; 	
else if (is_category())            
$seo_title = 'Category Archive: ' . $cat . ' | ' . $name; 	
else if (is_archive())  $seo_title = 'Archive: ' . $title . ' | ' . $  name; 	
else if (is_search())              
$seo_title = 'Search: ' . $search . ' | ' . $name; 	
else if (is_404())                 
$seo_title = '404 - Not Found: ' . $url . ' | ' . $  name; 	
else                   
$seo_title = $name . ' | ' . $description;  	$output .= "\t\t" . '<title>' . esc_attr($  seo_title . $  page_number) . '</title>' . "\n";  	return $output; 
}

Once done, replace the $ default_keywords (line 3) with your own and add the following code into your header.php file:

 <?php echo basic_wp_seo(); ?>

Then, don’t forget to check the source of your pages and fine tune the code if needed.

Big thanks to Jeff Starr for this amazing code!

Web Design

EfficienthackpluginwithoutWordPress

Leave a Reply

Your email address will not be published. Required fields are marked *