WordPress SEO Checklist for Beginners. 35 SEO Tips for WordPress to help improve your WordPress SEO and get more organic traffic from Google.
The misconception about WordPress is – it is out of the box SEO friendly. The truth is it a content management system that offers excellent opportunities to be better for readers as well as a search engine.
WordPress has settings to offer a better user-friendly and search engine friendly URLs, but it is configured that way right out of the box. One has to choose the right permalink structure for WordPress.
I am not an SEO guru, but I will share the best practices I follow to make the most of my blogging efforts and drive traffic from Google. Feel free to skip any point you don’t find it useful.
Table of Content
Hosting Service
An excellent blog has to have a great host. Speed is one of the vital ranking factors for user retention as well as for Google.
The loading time for the blog should be under 1.5 seconds. If your current blog is taking too much time to load, then it is the host, which may be the cause of concern.
Go with excellent hosting service of your choice like Bluehost, Hostgator, etc. but keep the following points in mind:
- Customer support should include live chat, email, and phone to contact in case of an emergency.
- Hosting companies also are on social media like Facebook & Twitter.
- Make sure the host offers cPanel. Don’t opt for the custom panel by the host, as it will be tough to move out of the host once it grows.
- Don’t limit your option with hosts that accept payment in Indian Rupees.
I start any new blog on Siteground, including BizTips. I like them and recommend anyone wants to start blogging.
As a note, every host offers affiliate commission to bloggers who recommend hosts. Generally, the blogging fraternity doesn’t recommend hosts based on the payment amount but the one they use.
And here is my step by step guide to building your WordPress blog or website on Siteground.
Allow Indexing the Blog
There is an option on the left panel on the WordPress dashboard under the Reading section called Search Engine Visibility.
The purpose of this function is to hide “Under Construction Blog” from search engines. This way, you get maximum time to work on your blog design, content, tags, categories, plugins, and more.
Now, if this checkbox remains ticked accidentally, then search engines will never find the blog. It will remain hidden as you have discouraged search engines from indexing (reading & crawling) the blog.
Hence, if the blog is not appearing in the SERPs, then log in to WordPress and go to the Reading section under Settings. See whether the checkbox is ticked or not. If yes, then uncheck the checkbox and save the changes.
Permalink Structure
WordPress default permalinks are of the form – “http://biztips.co/?p=123
“. That’s no way userfriendly or search-friendly.
So, instead of using “?p=123
” I will recommend setting a hierarchical category based post slug permalink. WordPress Left Panel > Settings > Permalinks and change the default settings.
If you aren’t sure if category as part of the url will help or aren’t sure on the categories yet, select post-name-based permalinks.
The benefit of using post name as permalink is, a user can remember the links, you can remember the links and add relevant keywords to leverage in the search through links.
WWW vs. Non-WWW Blog URL
What kind of URL should one go for? With WWW like “www.biztips.co
” or without WWW like “biztips.co
“? What’s the difference?
These are two URLs for the same page. So, search engines can consider them as different blogs with the same content. Use either one of them and redirect the other.
As an example, the blog URL which you want to go with is “http://biztips.co
“. The non-www one. Now visitors may type: “http://www.biztips.co
” to visit your blog.
What you have to do is redirect every url on “http://www.biztips.co
” to the respective url on “http://biztips.co
“. After doing so, when visitors visit any page on the domain.”http://www.biztips.co
” they will be redirected to the same url on “http://biztips.co
“.
The process is simple, and one has to add the following lines to the .htaccess files in the root of the WordPress directory. The file should already exist if you have opted for anything but the default permalink structure above.
If you wish to use the NON-WWW version of the site, add the following lines in the .htaccess file right at the top.
<IfModule mod_rewrite.c> | |
RewriteEngine On | |
RewriteCond %{HTTP_HOST} ^www\. [NC] | |
RewriteRule ^(.*)$ http://%{HTTP_HOST}/$1 [R=301,L] | |
</IfModule> |
If you wish to use the WWW version of the site, add the following lines in the .htaccess file right at the top.
<IfModule mod_rewrite.c> | |
RewriteEngine On | |
RewriteCond %{HTTP_HOST} !^www\. [NC] | |
RewriteRule ^(.*)$ http://www.%{HTTP_HOST}/$1 [R=301,L] | |
</IfModule> |
Enable SSL Certificate for HTTPS
HTTPS is the secure version of HTTP. To enable HTTPS-based URLs, you will need a digital SSL certificate for the domain.
Don’t worry if it is too technical for you. All you have to do is enable the digital certificate for the domain in your CPanel. SiteGround not only offers the SSL certificate for free, but it also allows the installation of the SSL certificate with one click.
If your host doesn’t provide a free SSL certificate, here is a step by step guide to get one and install it for your domain.
There is a false assumption that SSL is for websites processing sensitive information like bank details or credit cards. But that’s not the case anymore. It’s a protocol used to encrypt and authenticate the data sent between the browser and the webserver. It ensures secured browsing for your blog visitors.
All browsers report the site as not safe if you don’t have HTTPS enabled and enter a password. Google has also incorporated HTTPS and secured site into their ranking algorithms as well.
HTTPS Site has “Green Padlock” and the “Secure” message otherwise Red message as “Not Secure”.
Redirect HTTP to HTTPS
A blog having an SSL certificate becomes available from HTTP base url as well as HTTPS base url.
As was the case with www and non-www, it is recommended to redirect the HTTP version of the site to HTTPS using htaccess. Here is the simple code one can add after the WWW/non-WWW code.
<IfModule mod_rewrite.c> | |
RewriteEngine On | |
RewriteCond %{HTTPS} off | |
RewriteRule (.*) https://%{SERVER_NAME}/$1 [R,L] | |
</IfModule> |
Also note, if you are using HTTPS, the code for www or non-www redirect above, needs changing. In the second last line of code replace http://
to https://
to avoid an extra redirect. If you don’t, it isn’t a big deal either.
SEO-Friendly WordPress Blog Theme
A non-technical person without any programming knowledge can set up a website or blog in WordPress in no time. All thanks to the ready-to-use free and premium themes.
The important thing is your theme should be SEO friendly. Every modern WordPress theme is SEO friendly, but there is much more a theme can do than being just SEO friendly.
An SEO-friendly theme incorporates changes for SEO as and when they become relevant. I always prefer my blogs to be using the Genesis theme, but if you are starting, you can try some free options as well. Look for a theme that supports:
- More than Responsive – Most WordPress themes are responsive, but still, it makes sense to choose the one that works fine on all devices, including mobile and tablet. Some themes are responsive, but yet, do not collapse the menu into a tap-based menu on mobile. So choose one that is responsive but also looks good on small screens.
- Supports Rich Snippets – Google supports rich snippets like review count, bread crumbs, etc. as extra information in search results. Choose a theme that offers rich snippets.
- Being Actively Developed – If the theme is active, it will make sure as the SEO evolves, they will add support for them. Make sure you opt for an actively managed theme by the developer.
- Supports Child Theme – Any theme will not suffice to all your requirements. Over time you will have to customize it. If you customize the parent theme, the updates from the developer can be tough to integrate. Support for child themes helps customize as per your need and have the option to upgrade the parent theme as need be.
Yoast SEO Plugin
SEO is evolving. So should the WordPress SEO plugin. I can’t imagine WordPress without a Yoast SEO plugin. It is an essential WordPress plugin. It is way above its competition, especially the all-in-one SEO pack.
I use Yoast premium, but the free version of it is also quite impressive. Let’s look at some of the critical features of the Free Yoast SEO plugin.
Snippet Preview
Specify post title & meta description (meta tags) using essential keywords.
Readability Analysis
The readability feature of the Yoast SEO plugin encourages me to limit passive voice, use transition words, and keep track of the sentence length.
Moreover, the incredible Flesch Reading Score takes the content to the next level. Flesch reading score for the content needs to score more than 60 in for better readability.
Furthermore, consecutive sentences, subheading distribution, and paragraph length are a few more features to help you write more readable as well as SEO friendly content.
Focus Keyphrase
Focus keyphrase or keyword is the search term one wants to rank the blog post in the search results. It analyzes the content for the occurrence of keyphrases in the content as well as in the first paragraph.
Additionally, Yoast also analyses the number of outbound & inbound links in the blog post, keyphrase length, and image alt attributes to help write better content for the readers as well as for the search engines.
Internal Linking
Only available in Yoast premium.
Yoast provides the user with a list of related content that one can link to the current one. We know how relevant internal links are for SEO.
I have only highlighted Yoast features related to writing an article. It also has elements of different page titles for home page, post pages, XML sitemaps, social media site verifications, etc. The point isn’t to highlight all features of the plugin but to convince you to start using it to make WordPress an SEO powerhouse.
Add Blog to Google Search Console
Google Search Console, aka Webmasters Tool from Google, helps website/blog owners, webmasters, web marketers, and SEO professionals monitor website performance in the Google search index.
A search console is a handsome tool every blogger must use to learn about their search appearance, search traffic, Google index, and crawl stats to scale up their game in SERPs.
Moreover, Google also shows which search terms trigger their blog pages, the number of clicks, and how a visitor lands on their blog.
How to Add Blog Site to Google Search Console?
Visit this Google Search Console link. Use your Google account to sign in. Locate the “Add a Property” button under the search drop-down option.
Add your blog URL and click continue. Now Google will ask the owner to verify the blog ownership using different methods.
One can verify the blog integrating an HTML tag on the blog’s homepage. Yoast SEO plugin offers to add the site verification code within the plugin interface.
Other methods to verify domain ownership are using Google Analytics, Google Tag Manager, or using DNS records for the domain.
If you will have issues, Yoast has written an article on How to add your website to Google Search Console.
Submit an XML Sitemap
According to sitemaps.org,
A sitemap includes a list of URLs of a site along with additional metadata about each URL (when it was last updated, how often it usually changes, and how important it is, relative to other URLs in the site) so that search engines can more intelligently crawl the site.
Some URLs or content pages may not be linked from other pages often. Google doesn’t want to miss them indexing. So it asks webmasters to submit an XML based sitemap.
Yoast SEO plugin can create an XML sitemap. The url to the sitemap is https://biztips.co/sitemap_index.xml
Replace the domain name, and you can browse to the XML file for your site.
All you have to do now is add the XML file url for your domain and click submit. Google will share the status of the same. If, for some reason, your XML file isn’t generated, make sure you have enabled the XML sitemaps inside the Yoast SEO plugin > General > Features.
Start with Manual Comments Approval
Spam comments don’t contribute anything significant to the blog. Moreover, it discourages genuine readers from commenting. Akismet can block most of the automated spam comments, but still, allowing low-quality comments for a new blog can impact the overall content quality.
The main reason why I completely disabled comments on BizTips is because, in this niche of SEO and marketing, most of the comments aren’t genuine.
Set comments for manual approval to start with. As your blog grows and when it becomes too much to approve, move over to automatic approval.
In the WordPress Admin > Settings > Discussion > Before a comment appears > Comments must be manually approved.
It helps the blogger delete manual spam comments before they are visible to everyone.
Customize robots.txt
The robots.txt file is a text file present at the root of the domain to direct bots not to crawl a specific section of a WordPress blog.
As an example, here is my robots.txt file https://biztips.co/robots.txt and the content of the file is:
User-agent: * | |
Disallow: /go/ | |
Disallow: /recommended/ | |
Disallow: /cgi-bin/ | |
Disallow: /wp-admin/ | |
Disallow: /comments/feed/ | |
Disallow: /trackback/ | |
Disallow: /xmlrpc.php | |
sitemap: /sitemap_index.xml |
It instructs all the search engine bots (those who respect robots.txt) not to crawl links that start with /go/ or /recommended/ because these are affiliate links that have no significance for search engines to index.
Note: If you include the wp-content folder as disallowed, Google can flag the blog as non-responsive because it isn’t able to load the CSS file that resides within the themes folder, which is under the wp-content folder.
Note: Don’t even include wp-includes or wp-content/plugins folder in the disallow list. These folders can serve JavaScripts and CSS, which Google needs to index. As an example, the wp-includes folder serves jQuery and other related JavaScripts. The plugins can store the CSS or JavaScripts files within the plugins folder.
If you aren’t sure, copy the content of the above robots.txt file and put it in your WordPress root directory.
Connect WordPress Blog to JetPack
Jetpack is the plugin by Automattic, the company behind WordPress. It is a must plugin for every WordPress and offers many features to help boost the site’s performance and provide search engine benefits as well.
Some features of Jetpack which I use and recommend are:
- Related Posts to not only help readers with similar articles but also build internal backlinks to related posts.
- Enhance the site’s performance & speed by serving images from WordPress cloud.
- Lazy Loading for images, which means images load as and when user scrolls to those images.
- Site traffic stats similar to Google Analytics.
- Infinite scrolling, so the reader doesn’t need to click on paginated URLs
- Automatically share posts to connected social media account as well as enable share buttons on articles.
And many other features.
Make Sharing on Social Media Easier
The fact of the matter is, Google knows know us better than we do. Every action online is recorded to improve user experience (read search performance and ad revenue).
Search engines take note of reactions a webpage gets from users on social media platforms like Facebook, Twitter, Pinterest, LinkedIn, Quora, Whatsapp, etc.
It means that if a blog post has a high amount of social interactions, it is more likely to rank in the search results. I know there isn’t official confirmation on it, but even if there aren’t any search benefits, the social sharing buttons do bring in traffic from social media sites for sure.
I use and recommend AddThis for sharing. They offer very intuitive and easy to share options as well as support share button to change on mobile and tablet.
Categories and Tags
WordPress allows categorizing blog articles into categories, sub-categories, and tags. This way, you set a swift navigation path for readers to browse the blog easily.
Categories integrate a group of topics connected in a hierarchical pattern.
For BizTips, I have selected broad categories like Freelancing, Entrepreneurship, Blogging, Marketing, etc. Typically there is a finite number of categories.
Tags are specific keywords or phrases used to group posts. They aren’t hierarchical and reflect what the blog post is about.
Often tag pages are considered to be thin content pages only linking to posts. On top of that, the number of tags is very high in number. So I have disabled tags on BizTips as well. They don’t add any value to the readers either.
The fact of the matter is, either accurately organize the categories and tags, so they help the reader to find related content or else create broad categories for posts and disable tags.
<?php | |
//* Do NOT include the opening php tag above. Copy the code shown below. | |
function unregister_tags() { | |
unregister_taxonomy_for_object_type( 'post_tag', 'post' ); | |
} | |
add_action( 'init', 'unregister_tags' ); |
Put the above code in your theme’s functions.php file to disable tags.
Use a Caching Plugin to Boost Site Speed
Before rendering the webpage to the reader, WordPress does a series of tasks. The process can be faster when some parts of the pages are cached.
Caching can help skip a lot of server-side processes in building a webpage.
Although there are many free caching plugins available for WordPress like W3 total cache, WP super cache, I use WP Rocket.
It is the best WordPress caching plugin. Install, and we are ready to go, whereas other caching plugins have tons of settings to configure before it can be usable.
Install AMP Plugin
AMP stands for Accelerated Mobile Pages. It is a modern way to craft HTML in such a manner that pages load content much faster.
There are two AMP plugins in WordPress. The first one is by Automattic and is part of Jetpack, but AMP for WP is a way better plugin for WordPress.
It offers a lot of customization within AMP pages, including the support to add Google Adsense on AMP pages. Some of the key features I like in the plugin include:
- Theme based AMP layouts. So you don’t need to be using the same AMP layout.
- Contact form 7 supported.
- Support for Google tag manager.
- Users can add separate content for AMP websites.
- Google Adsense support with four different Ads slot (AMP-AD)
- Separate WordPress Menu for AMP version
They are making it the best AMP plugin. Even better than WordPress’s AMP plugin.
Use a Plugin to Optimize Images
Images can add up to the size of the webpage very fast. A very high-quality image has millions of pixels, and storing the same requires considerable space. On top of that, it can take a long time to load.
It can altogether slow down the user experience. The solution is to reduce the image size using online or offline tools.
So it is equally important to optimize them for site speed and enhance user experience.
I use Imagify because they have a straightforward and yet very effective solution for Images uploaded to WordPress.
Even after having a plugin, it is better to resize an image before upload. Pictures wider than 1200 pixels don’t do any good on the web because no users will be viewing them that big unless your blog is related to photography and images. Imagify can reduce the size based on width as well, but I still prefer not to upload them.
Enable Breadcrumbs
Breadcrumbs are navigational links helping visitors with the path from the current page till the home page. Look at the image below.
As you can see in the above image, a path is Home / Freelancing / Upwork / How to Get Upwork Profile Approved in 2019?
A visitor can easily switch to the home page of the freelancing category right from the current page, allowing visitors to navigate the blog to explore more pages of interest.
Breadcrumbs are more useful to those who create a complex hierarchy of categories and sub-categories. If the theme supports rich snippets, Google can pick up the breadcrumbs from your site and show them in the search results as well.
If your theme doesn’t support breadcrumbs, you can enable them via the Yoast SEO plugin.
Use CDN to Boost Site Speed and User Experience
CDN stands for content delivery network or content distribution network. It is mainly used to serve the static content of a web page like images, media, JavaScript, and CSS.
As a reader, if you request a page from any site, the server sends data for each element (images, CSS, JavaScripts) of the page. With CDN, some of these static elements can be hosted to a different server and can be fetched simultaneously to load up the site’s loading time.
The CDN companies strategically position their server locations in a manner to deliver static content to users from the nearest location. It helps in reducing the web page load time even further.
Some of the prevalent advantages of using a CDN are
- Nearest Location – The location of the hosting server in the US can mean every element of a webpage is serving from the US. If a nearby location serves the data, it will be much faster. The CDN used for static content of a web page, which includes images, JavaScripts, CSS, Media files, etc. which is 70% to 80% of the overall data on a webpage and if served from a nearby location reduces the load time considerably.
- Scalable – CDN will make it easy to manage traffic spikes and reduce the load on the central server. It helps in serving a significant portion of a webpage without requesting that server.
- Reliable – CDN has multiple servers to serve a request. So if one server isn’t available, requests are automatically sent to the next accessible server making it very reliable.
- Cost-Effective – Consider the cost and the infrastructure needed to host one server in each continent. With CDN, you get the same benefit of hosting an edge server at various locations, and still, the cost is typically next to nothing.
Every site must use a CDN to speed up the page load time.
Use Alt Text for Images
Alt-text is used within an HTML code to describe the content of the image. Apart from SEO benefits, other uses are:
- Screen readers help visually impaired visitors to read the image
- Alt text displays when the image file doesn’t load or take time to load
- Search engines can index the image using alt tags
While adding media files in the blog post, there is a field to add the image alt text. Refer below image.
Write a short description if possible, but don’t make it a place to stuff in keywords.
TIP: Name the image files relevant to the content to help with the SEO efforts.
Disable Author Archives in single-author Blogs
If you are the only author for a blog, your blog page will be the same as your author archive page. So single author sites should disable the author archives to avoid duplicate content errors.
In the WordPress Admin Dashboard visit SEO > Search Appearance > Archives > Author archives settings and disable the author archive. Once the archive is disabled, the author archive links will redirect to the homepage.
Noindex Thin Content Pages
Some pages have very little content to offer for search engines but are mainly to add value to the readers in particular situations. Pages like:
- Contact Page
- Disclaimer Page
- Thank You Page
- Privacy Policy Page
- Terms and Conditions Page
One can disable indexing of each page or post in WordPress via Yoast SEO Plugin.
For each page or post in WordPress, there are Yoast SEO settings. Click on the Gear Icon > Advanced Tab. Set No to Allow search engines to show this Page in search results?
One can also use the robots.txt file to disable indexing of these pages, but if you do it that way, Google may throw a warning about pages in the sitemap are blocked by robots.txt if they are part of the sitemap.
Optimize Post Titles
A blog post title is the first thing both a reader and the search engines pay attention to. The title can make or break a blog post’s ranking. There are tools to help craft better titles.
Writing titles that resonate with content and has keywords to help rank well in the search results.
Use long-tail keywords in the title. One or two words key phrases are highly competitive, and one has negligible chances of ranking using such keywords.
For example, using a broad term like “SEO” and targetting the same makes no sense. Instead, go for long keyphrases like “Local Business SEO for Lawyers” or “SEO for Small Business Owners“. It will increase the chance of ranking the blog post in search results.
Another key point about using long-tail keyphrases is to help reduce the competition with good search volume.
Once the title is in your mind but not yet finalized, maintain the relevancy of keyphrase in the blog title, content, meta tags, excerpts, and image alt tags. Doing this makes an essential opportunity for the blog post to communicate with the search engines.
Use Targetted Keywords in the First Few Paragraphs
The title is the most critical element on a page. The next important component of a page is the opening paragraph of the article. As per Yoast, Google gives more importance to the initial paragraphs of the content. Give a short introduction to what the whole post is all about in the first few paragraphs.
Use targetted keywords or the focus keyword of the post. Avoid keyword stuffing. Also, do use long-tail keywords instead of short keyphrases having high competition.
Maintain the relevancy of your targetted keyphrase throughout the blog post.
As discussed earlier, the relevancy of targetted keywords or its synonyms shall be visible in the blog post title, permalink, meta tags, image alt tags, and so on.
Avoid Very Long URLs
Long URLs for a blog post are tardy! Use a shorter version of the blog post title for the post permalink.
For example, my blog post is about “40+ Tweaks To Make Your WordPress Blog More SEO Friendly”.
The permalink can be “40-tweaks-to-make-your-wordpress-blog-more-seo-friendly”, but I prefer to keep it to wordpress-seo.
I always limit to using a maximum of 4 to 5 words in my blog post permalinks. There may have been some exceptions in the past but generally. The reason being, long URLs look untidy, makes it hard for me to remember.
Now, think from a search engine’s point of view. Writing long URLs won’t serve any purpose in the SERPs because they will never appear entirely.
After a point, the URL will end up showing dots.
A win-win situation for all.
Publish Fresh Blog Post Content
No matter what SEO tips you apply to the blog, it will need content to rank. As a blogger, you also need to learn to write better content for your readers and keeping it friendly for the search engine as well.
There is no substitute for fresh content. Publishing news and unique content on your blog are essential. Not only for search engine rankings but also to sustain and grow the blog.
Search engines indeed give priority to blogs that feature new posts regularly. But maintaining the post publishing schedule is very important.
One post a week is far better than publishing daily for a short period and then vanishing.
Look at the image below. It is the post schedule of BizTips.co, I have maintained the consistency of writing articles consistently for a long time.
Hence, the SERPs always show newly, updated, and the most relevant content to users.
Interlink
There are multiple benefits to interlinking.
First, it feeds search engines with relevant articles from the blog. Second, it helps readers with more and more content to read.
I always link my old articles as and when I can. The process doesn’t stop at linking to past articles; I also edit old articles to link to the new articles where I find it can help readers.
This way, my older post comes into the limelight and gets more traffic from the new articles, but more importantly, the new articles get the boosts of links from my old articles. On top of that, my past articles which already drives traffic is channeled to some of my recent articles as well.
A point to note here is – It is not advisable to link unrelated articles but only those that are highly relevant and will help readers in expanding what they are reading.
Link Cornerstone Content More
As a blogger, some content is more researched, well-crafted, and provides a great value to the reader than others.
Such content is known as epic, timeless, or cornerstone content. One can mark such content in Yoast SEO.
One should always mark such content and interlink it more often compared to regular articles to help readers read some of the best content on the blog.
As an example, this article about WordPress SEO is an epic and timeliness content. So, I will mark as cornerstone content. So Yoast can suggest to me more often to link to these content.
It is a way to help readers to get to some of the better content on the blog as well as feed search engines with internal links to the better-crafted content.
Custom SEO Meta Description
I know in 2019, people shouldn’t talk about meta descriptions, but I am slightly old school.
A meta description is a small text of approximately 160 characters providing a brief about the content on the page.
This text appears as a meta tag in an HTML code format. Though Google SERP shows description related to the user’s search term crafted from the content of the page but if the meta description is highly relevant, it even shows the meta description in the search results as well.
Even if Google doesn’t give a damn to meta description, I prefer writing meta descriptions for each article and use the same as excerpts.
An excerpt in WordPress is a term used for an article summary. They can be auto-generated from the first few lines of content, or write it for the excerpt field. The theme then can use the excerpt on archive pages as the description of the content.
I don’t like automated content displaying on archive pages, and so I always add an excerpt and use it as meta description.
Create Engaging Content
Engaging content can do wonders, along with SEO.
So what is engaging content in the first place?
Let’s assume you are a mobile blogger. So when Apple is about to launch a new iPhone, you create an article to engage users sharing some of the features you like to see as well as asking them what features they want to in it.
Similarly, if you are a WordPress blogger, as and when there is an announcement of new features, share views about them and how it can benefit users as well as engage readers to have their opinion about the same.
It is a way to get user engagement going.
As and when the product launches or features are part of the core, the article you wrote some time back will start trending and will gain rankings in Google.
Use Hx Tags, Images and Bullet Points
Content formatting is a part of SEO. It is crucial to organize your blog post content so that visitors can quickly scan, read, and find critical points in it.
Merely publishing a large chunk of textual paragraphs won’t help.
What one needs to do is add subheadings like H2, H3, H4, bullet points, and images to make content exciting and scannable.
As an example, this article is about WordPress SEO. The orientation of the article is such that you can skim through each sub-heading and read-only those that interest you.
Sub-headings help users skip content as well as find the part of the content he is interested in quickly.
Redirect Internal Links
Broken links don’t help anyone, but at times it can be tough to find them. Over time, your blog will have lots of links, both internal and external, which will become dead.
Internal links may not become dead if you redirect any link deleted page, post, category links to new URLs.
I use pretty links plugin where one can redirect one link to others.
So, for example, my initial about page url was https://biztips.co/about-imtips
but I changed it to https://biztips.co/about
and then redirected the old url to the new one using a pretty link.
One can also use Yoast SEO to redirect, but it is Pro feature, and I did the about page redirect much earlier than I upgraded Yoast SEO for BizTips.
Fix External Broken/Spam Links
For external links, I have a script to find all the external links (domains and URLs) from WordPress.
<?php | |
/* | |
* Create a private WordPress page with permalink as links. | |
* Upload the code with the file name as page-links.php in the active themes directory. | |
* Upload simple_html_dom file from here (https://sourceforge.net/projects/simplehtmldom/files/simplehtmldom/1.5/) | |
* to the same directory | |
* All done. | |
* Now logged in admin, visit yoursite.com/links and you will see a list of all external links from your WordPress blog. | |
* Whitelist the links and domains in the array $_allowed_links and $_allowed_domain respectively to | |
* reduce the number of links shown in the report. | |
* If you don't wish to whitelabel the complete domain, add them to $_allowed_links array. | |
*/ | |
?> | |
<ol> | |
<?php | |
$_allowed_links = array( | |
'http://imojo.in/@shabbirbhimani', | |
'https://www.siteground.com/go/imtipsco', | |
); | |
$_allowed_domains = array( | |
'github.com', | |
'wordpress.com', | |
'en.wikipedia.org', | |
'policies.google.com', | |
'google.com', | |
'imtips.co', | |
); | |
$_output_domains = array(); | |
function is_allowed_domain($url) | |
{ | |
global $_allowed_links, $_allowed_domains, $_output_domains; | |
if(in_array($url, $_allowed_links)) return true; | |
$the_domain = strtolower(parse_url($url, PHP_URL_HOST)); | |
if(empty($the_domain)) return true; // Hash based url | |
if(in_array($the_domain, $_allowed_domains)) return true; | |
if (strpos($the_domain,'www.') !== false) { | |
$more_domain = substr($the_domain, 4); | |
} | |
else{ | |
$more_domain = 'www.' . $the_domain; | |
} | |
if(in_array($more_domain, $_allowed_domains)) return true; | |
if(!in_array($the_domain, $_output_domains)) | |
$_output_domains[] = $the_domain; | |
return false; | |
} | |
global $post; | |
include_once( get_stylesheet_directory() . '/simple_html_dom.php' ); | |
$args = array( | |
'posts_per_page' => 9999999999, | |
'offset' => 0, | |
'category' => '', | |
'category_name' => '', | |
'orderby' => 'ID', | |
'order' => 'DESC', | |
'include' => '', | |
'exclude' => '', | |
'meta_key' => '', | |
'meta_value' => '', | |
'post_type' => 'post', | |
'post_mime_type' => '', | |
'post_parent' => '', | |
'author' => '', | |
'author_name' => '', | |
'post_status' => 'publish', | |
'suppress_filters' => true | |
); | |
$myposts = get_posts( $args ); | |
foreach( $myposts as $post ) : setup_postdata($post); | |
//Get Post content | |
$_post_content = get_the_content(); | |
$html = str_get_html($_post_content); | |
$links = $html->find('a'); | |
foreach($links as $link) { | |
if (!is_allowed_domain($link->href)) { | |
echo '<li><a target="_blank" href="'.get_permalink($post->ID) . '">' . get_the_title() .'</a> - '. $link->outertext . ' - ' .$link->href . '</li>'; | |
} | |
} | |
endforeach; | |
// Only change few params for pages | |
$args['post_type'] = 'page'; | |
$mypages = get_pages( $args ); | |
foreach( $mypages as $post ) : setup_postdata($post); | |
//Get Post content | |
$_post_content = get_the_content(); | |
if(!empty($_post_content)) { | |
$html = str_get_html($_post_content); | |
$links = $html->find('a'); | |
foreach($links as $link) { | |
if (!is_allowed_domain($link->href)) { | |
echo '<li><a target="_blank" href="'.get_permalink($post->ID) . '">' . get_the_title() .'</a> - '. $link->outertext . ' - ' .$link->href . '</li>'; | |
} | |
} | |
} | |
endforeach; | |
echo '<h1>Linked Domains</h1>'; | |
foreach($_output_domains as $domain) | |
{ | |
echo "'$domain',\r\n<br />"; | |
} | |
wp_reset_postdata(); | |
?> | |
</ol> |
All one needs to do is
- Create a private WordPress page with permalink as links.
- Upload the code with the file name as page-links.php in the active theme’s directory.
- Upload simple_html_dom file to the same directory
Now logged in admin, visit yoursite.com/links, and you will see a list of all external links from your WordPress blog.
Whitelist the links and domains in the array $_allowed_links and $_allowed_domain, respectively, to reduce the number of links shown in the report.
If you don’t want to use a script, it is easy to track external link clicks in Google Analytics via Google Tag Manager. Implement GTM for Google Analytics, and you will know what external links from which articles are getting clicks from readers. That way, you know if any of your readers are ending up on a wrong external link/domain.
Fix Google Search Console Errors
Google search console over time will report errors it finds when crawling the site. It will report broken links, mobile browsing issues, AMP Issues, so on and so forth.
It is better when you get those error reporting emails from Google search console, work on it to fix it.
At times these error reports can be because Google couldn’t connect to the site or couldn’t load a CSS file for whatever reasons. Going through them often fixes them.
Security and Backups
Finally, everything has to be made secure, and one needs to back it up regularly.
It should be a top priority of every WordPress blog owner. No one will want their hard work to drain if their website account is compromised.
It is easy to keep the WordPress blog safe and secure.
For back up, I will suggest the Vaultpress plugin by Jetpack. It backups post, comment, media file, revision, and dashboard setting to their servers.
If you are still not ready for Vaultpress, use a login lockdown plugin to restrict malicious and brute-force logins to a WordPress site. It records the IP address and time of every failed attempt as well as automatically disables login from IP address with too many failed attempts. Use it with caution because if you forget the password and try many combinations, it can block you as well.
Final Thoughts
Welcome to the world of blogging, WordPress, and SEO. Always Analyze what’s working and what’s not.
Consistency is the key to create a successful blog. Keep writing quality blog posts.