SEO Presentation (FOUR METHODS FOR OPTIMIZING YOUR WEBSITE)

Writing Content For the Web

Keyword Research Tools

Notes

Each tool typically offers a free service ranking google keywords by cost/click and clicks
Their paid services expand to include other search engines (bing/yandex), and to show also trend and search data
Volume refers to search volume data
Cost per click is the other primary metric

Some services you can choose from

Semrush
Keywords.io
Google key word planner
https://keywordtool.io/ (keyword Ideas)

keyword tips

Search for key word questions
Include these questions in your h1, h2, and h3 tags, and answer them in your google passages
Remember featured snippets answer keyword questions and are featured in google results

Google will now index every passage from pages, instead of indexing pages, so organize your pages into complete sections.

In traditional writing you have a thesis paragraph, body paragraphs supporting the thesis, and conclusions, with passage ranking, you only need to ensure each passage is a complete unit (introductory transition sentence, topic sentence, support sentence, possible conclusion sentence or reaffirmation, transition sentence

There is a big advantage here to creating passages that are most asked in search queries

Title length (ensure one keyword or long-tail keyword per title, near the front)

Meta description length (300 characters, sprinkle with long-tail keywords, but write for content quality)

Include Keywords in the first paragraph or first 150 Words:

Google crawls the content at the top on your webpage the most. So try to optimize your focus keywords and synonyms in the first paragraph or first 150 words.

Ensure images are named with keywords and areas

Ensure media pages link back to original media post

Ensure images have alt tags written with keywords, but also for page readers

Excerpts ( the section before the “read more…” tag) can be written with key words, answering questions (to get returned as a featured snippet)

Concentrate on phrases people would naturally use in speech

Use longer and more descriptive keywords (humanizing content/long-tail SEO)

Use question phrases (who?, how?, where?, and why?)

Who phrases rank higher than how phrases

Consider search queiries your potential customers will enter

Optimize for local listings (use ’near me’, and ’city name’)

Recommended length of article for post types

  • Finance sector is 2,100 - 2,500 words;
  • Financial Technology needs 2,000 2,150 words;
  • Manufacturing needs 1,700 - 1,900 words;
  • Sales industry needs 2,500 - 2,700 words;
  • Retail requires 1,500 - 1,700 words
  • Real estate requires 1,800 - 1,900 words
  • Home and Garden websites need 1,100 - 1,200 words;
  • Tech sites need 800 - 1,000 words;
  • Gadgets require 300 - 500 words;
  • Marketing and advertising require 2,500 - 3,000 words
  • Healthcare need 2,000 - 2,150 words;
  • Fashion needs 800 - 950 words
  • Food 1,400 - 1,900 words
  • Travel and tourism is 1,500 - 1,850 words

Add your website to search engines and ensuring they are updated

Add google verification to your site (sign up for google search console and verify your site)

Preferred method is to add a new rule on your server

Next method -> generate verification code, choose option that provides html tag

<meta name=“google-site-verification” content=“I8ZBMow----–—OhU5jV3os0quZUfAlEw” />

Alternate method, add into input in yoast or rank math

Add tag above to header.php in child theme directory

Slower than adding to header is to add to function.php in child theme

function ns_google_analytics() { ?>
<script async src=“https://www.googletagmanager.com/gtag/js?id=G-B175YGY1T1”></script>
<script>
window.dataLayer = window.dataLayer || [];
function gtag(){dataLayer.push(arguments);}
gtag(’js’, new Date());

gtag('config', 'G-B175YGY1T1');
</script>
<?php
}

add_action( ’wp_head’, ’ns_google_analytics’, 10 );

Use the sitemaps report to check how google views your site

Sign-up and log in to yandex through the dashboard https://webmaster.yandex.com/welcome/

get the verification code and add it also to your header.php, or functions.php, or DNS record

Sign-up and login to bing webmaster tools https://www.bing.com/webmasters/homepage

add url to the site and the site map

Sign-up to google my business https://www.google.com/intl/en_us/business/

Google uses NAP Name, Address, and Phone Number, ensure consistency

  • On your website
  • On your GMB profile
  • On business directories
  • On local listings sites

There’s a card on GMB with secure short-link you can forward to customers to get GMB reviews

optimize your GMB profile with key words

get your team to check-in to GMB (they need to enable location on there mobile to do this, you can disable location afterward) (this improves authority ranking)

Avoid getting penalized by Google algorithms like, Penguin, Panda, and Hummingbird

1. No Cloaking and Sneaky Redirects:

cloaking (show any web page to Google that is different from pages you show to your users)
Sneaky redirects drive users to a separate page than shown to Google. Both the actions are the violation of Google webmaster guidelines.

Do not get hacked

No Hidden Text and Keyword Stuffing:

No Pure Spam (automated gibberish, scraped content, Over Optimized meta description, using multiple H1 heading)

No Spammy Free Hosts

No Spammy Structured Markup

No Thin Content: pages providing little or no value to your audience trigger penalty

  • Auto-generated,
  • low quality,
  • shallow pages,
  • thin affiliate pages,
  • spun content will also hook the penalty where your website will be poorly affected by Google.

No Unnatural Links/Buying Links to your Site

No Other Link Manipulation Techniques:

  • building webrings to boost traffic on your site from the related websites, it violates the Google algorithm.
  • Guest posting to unrelated niches,
  • manipulating link profiles by increasing the number of inbound links using linkbait and switch method links,
  • buying reviews by offering free product and services trigger the Google penalty
  • Google will penalize you if you are doing blog commenting aggressively to get backlinks or using shady 301 redirect code with link exchange.

No Getting involved in SERP Spam (using Autoboot or Auto Click)

(you pay for ads by click, they use robots to push up clicks and increase your costs without increasing your return)

  • They start using Autobots, where they purchase followers for your content on the web and start
  • getting auto-like, auto click, and auto comment by the computer.
  • With the help of Autobots, if you are auto-linking and auto sending Google queries, then there will be a trigger of Google penalties.
  • It can affect your website severely, and Google can ban you permanently.

Speed up search engine indexing with pingbacks (ping search engines when you have changed your site)

Go to settings/writing/update services, click on link: update services

XML-RPC Ping Services (copy list of pingable links and add to your update services list)

https://accounts.google.com/signin/v2/identifier?service=feedburner&continue=https%3A%2F%2Ffeedburner.google.com%2Ffb%2Fa%2Fmyfeeds&gsessionid=vQu4U6ZIazB24j_v9Iwi6j4H3Q1ecuns&flowName=GlifWebSignIn&flowEntry=ServiceLogin
https://wpblogging101.com/wordpress-ping-list/
http://rpc.pingomatic.com/
http://bing.com/webmaster/ping.aspx
http://ping.blo.gs/
http://blog.goo.ne.jp/XMLRPC
http://blog.with2.net/ping.php
http://blogping.unidatum.com/RPC2
http://blogpingr.de/ping/rpc2
https://ping.blogs.yandex.ru/RPC2
http://blogsearch.google.ae/ping/RPC2
http://blogsearch.google.at/ping/RPC2
http://blogsearch.google.be/ping/RPC2
http://blogsearch.google.bg/ping/RPC2
http://blogsearch.google.ca/ping/RPC2
http://blogsearch.google.ch/ping/RPC2
http://blogsearch.google.cl/ping/RPC2
http://blogsearch.google.co.cr/ping/RPC2
http://blogsearch.google.co.hu/ping/RPC2
http://blogsearch.google.co.id/ping/RPC2
http://blogsearch.google.co.il/ping/RPC2
http://blogsearch.google.co.in/ping/RPC2
http://blogsearch.google.co.it/ping/RPC2
http://blogsearch.google.co.jp/ping/RPC2
http://blogsearch.google.co.ma/ping/RPC2
http://blogsearch.google.co.nz/ping/RPC2
http://blogsearch.google.co.th/ping/RPC2
http://blogsearch.google.co.uk/ping/RPC2
http://blogsearch.google.co.ve/ping/RPC2
http://blogsearch.google.co.za/ping/RPC2
http://blogsearch.google.com.ar/ping/RPC2
http://blogsearch.google.com.au/ping/RPC2
http://blogsearch.google.com.br/ping/RPC2
http://blogsearch.google.com.co/ping/RPC2
http://blogsearch.google.com.do/ping/RPC2
http://blogsearch.google.com.mx/ping/RPC2
http://blogsearch.google.com.my/ping/RPC2
http://blogsearch.google.com.pe/ping/RPC2
http://blogsearch.google.com.sa/ping/RPC2
http://blogsearch.google.com.sg/ping/RPC2
http://blogsearch.google.com.tr/ping/RPC2
http://blogsearch.google.com.tw/ping/RPC2
http://blogsearch.google.com.ua/ping/RPC2
http://blogsearch.google.com.uy/ping/RPC2
http://blogsearch.google.com.vn/ping/RPC2
http://blogsearch.google.com/ping/RPC2
http://blogsearch.google.de/ping/RPC2
http://blogsearch.google.es/ping/RPC2
http://blogsearch.google.fi/ping/RPC2
http://blogsearch.google.fr/ping/RPC2
http://blogsearch.google.gr/ping/RPC2
http://blogsearch.google.hr/ping/RPC2
http://blogsearch.google.ie/ping/RPC2
http://blogsearch.google.in/ping/RPC2
http://blogsearch.google.it/ping/RPC2
http://blogsearch.google.jp/ping/RPC2
http://blogsearch.google.ki/ping/RPC2
http://blogsearch.google.kz/ping/RPC2
http://blogsearch.google.la/ping/RPC2
http://blogsearch.google.li/ping/RPC2
http://blogsearch.google.lk/ping/RPC2
http://blogsearch.google.lt/ping/RPC2
http://blogsearch.google.lu/ping/RPC2
http://blogsearch.google.md/ping/RPC2
http://blogsearch.google.mn/ping/RPC2
http://blogsearch.google.ms/ping/RPC2
http://blogsearch.google.mu/ping/RPC2
http://blogsearch.google.mv/ping/RPC2
http://blogsearch.google.mw/ping/RPC2
http://blogsearch.google.nl/ping/RPC2
http://blogsearch.google.no/ping/RPC2
http://blogsearch.google.nr/ping/RPC2
http://blogsearch.google.nu/ping/RPC2
http://blogsearch.google.pl/ping/RPC2
http://blogsearch.google.pn/ping/RPC2
http://blogsearch.google.pt/ping/RPC2
http://blogsearch.google.ro/ping/RPC2
http://blogsearch.google.ru/ping/RPC2
http://blogsearch.google.rw/ping/RPC2
http://blogsearch.google.sc/ping/RPC2
http://blogsearch.google.se/ping/RPC2
http://blogsearch.google.sh/ping/RPC2
http://blogsearch.google.si/ping/RPC2
http://blogsearch.google.sk/ping/RPC2
http://blogsearch.google.sm/ping/RPC2
http://blogsearch.google.sn/ping/RPC2
http://blogsearch.google.st/ping/RPC2
http://blogsearch.google.tk/ping/RPC2
http://blogsearch.google.tl/ping/RPC2
http://blogsearch.google.tm/ping/RPC2
http://blogsearch.google.to/ping/RPC2
http://blogsearch.google.tp/ping/RPC2
http://blogsearch.google.tt/ping/RPC2
http://blogsearch.google.tw/ping/RPC2
http://blogsearch.google.us/ping/RPC2
http://blogsearch.google.vg/ping/RPC2
http://blogsearch.google.vu/ping/RPC2
http://blogsearch.google.ws/ping/RPC2
http://news2paper.com/ping
http://ping.bloggers.jp/rpc
http://ping.fc2.com
http://ping.rss.drecom.jp
http://rpc.bloggerei.de/ping/
http://rpc.pingomatic.com
http://rpc.technorati.com/rpc/ping
http://rpc.twingly.com
http://services.newsgator.com/ngws/xmlrpcping.aspx
http://api.feedster.com/ping
http://api.moreover.com/RPC2
http://api.moreover.com/ping
http://www.blogdigger.com/RPC2
http://www.blogshares.com/rpc.php
http://www.blogsnow.com/ping
http://www.blogstreet.com/xrbin/xmlrpc.cgi
http://bulkfeeds.net/rpc
http://www.newsisfree.com/xmlrpctest.php
http://ping.feedburner.com
http://ping.syndic8.com/xmlrpc.php
http://ping.weblogalot.com/rpc.php
http://rpc.blogrolling.com/pinger/
http://rpc.weblogs.com/RPC2
http://www.feedsubmitter.com
http://blo.gs/ping.php
http://www.pingerati.net
http://www.pingmyblog.com
http://geourl.org/ping
http://ipings.com
http://www.weblogalot.com/ping
http://rpc.pingomatic.com/
http://rpc.blogbuzzmachine.com/RPC2
http://ping.fc2.com/
http://blogs.yandex.ru/
http://rpc.bloggerei.de/
http://ping.blogs.yandex.ru/RPC2
http://ping.rss.drecom.jp/
http://rpc.odiogo.com/ping/
http://mod-pubsub.org/kn_apps/blogchatt
http://ping.amagle.com/
http://ping.bloggers.jp/rpc/
http://ping.exblog.jp/xmlrpc
http://bblog.com/ping.php
http://bitacoras.net/ping
http://blogdb.jp/xmlrpc
http://blogmatcher.com/u.php
http://coreblog.org/ping/
http://www.lasermemory.com/lsrpc/
http://ping.rootblog.com/rpc.php
http://pingoat.com/goat/RPC2
http://topicexchange.com/RPC2
http://trackback.bakeinu.jp/bakeping.php
http://www.bitacoles.net/ping.php
http://www.blogoole.com/ping/
http://www.blogpeople.net/servlet/weblogUpdates
http://www.mod-pubsub.org/kn_apps/blogchatter/ping.php
http://www.newsisfree.com/RPCCloud
http://www.snipsnap.org/RPC2
http://www.weblogues.com/RPC/
http://xmlrpc.blogg.de
http://rpc.twingly.com
http://www.blogsnow.com/ping
http://www.blogstreet.com/xrbin/xmlrpc.cgi
http://bulkfeeds.net/rpc
http://www.newsisfree.com/xmlrpctest.php
http://ping.blo.gs/
http://ping.feedburner.com
http://rpc.blogrolling.com/pinger/
http://rpc.technorati.com/rpc/ping
http://rpc.weblogs.com/RPC2
http://www.feedsubmitter.com
http://blo.gs/ping.php
http://www.pingmyblog.com

Submit your site to feedshark

On-page SEO factors that reduce page load times

Test Your Site Before and After

facebook open graph test ensures opengraph tags are correctly scraped by facebook, these tags are relevant for facebook shares, and e-mail shares

open graph tag previewer (also shows title and description metrics, I use this when I don’t use wordpress)

disable pingbacks (fewer http requests)

check how many page requests you get with this site

add this code to functions.php

remove_action(’wp_head’, ’wlwmanifest_link’);
remove_action(’wp_head’, ’rsd_link’);

what are pingbacks and extra server request

WordPress creates a ping-back for one of your posts because you linked to it from another post.

add to function.php in child theme

function sert_no_self_ping( &$links ) {
$home = get_option( ’home’ );
foreach ( $links as $l > $link ) if ( 0 == strpos( $link, $home ) )
unset($links[$l]);
}
add_action( ’pre_ping’, ’sert_no_self_ping’ );
**

defer your javascripts (load them all the head tag)

find the file name with either of these plugins

WP Asset Cleanup
Asset Que Manager

add a filter with the script name to defer it

add_filter( ’script_loader_tag’, function ( $tag, $handle ) {
if ( ’contact-form-7’ !== $handle )
return $tag;

return str_replace( ’ src’, ’ defer=“defer” src’, $tag );
}, 10, 2 );

The above code uses an example script handle from Contact Form 7. You can easily expand this but to add scripts you need to get the script handle

target either of two files

add_filter( ’script_loader_tag’, function ( $tag, $handle ) {
if ( ’contact-form-7’ || ’some-js-file’ !== $handle )
return $tag;

return str_replace( ’ src’, ’ defer=“defer” src’, $tag );
}, 10, 2 );
Essentially all you need to do is the following:

Add the ||.
Make your filename wrapped in ` `.

This code can be added in your functions.php file, child theme, or site-specific kitchen sink plugin.

Use Rank Math

connect and create a rank math account before you can use it

404 monitor, maybe don’t need to use (enable if needed)

Redirects (you should have a redirect tool) (enable)

ACF - advanced custom fields (VERY GOOD) (enable)

AMP - useful if you install the AMP plugin and use AMP HTML (enable if needed)

bbpress, and buddypress (these pages require special title tags, which usually causes a problem) (enable if needed)

  • if you use bbpress or buddypress, use these

count links (just counts links) (enable disable as needed)

Local SEO and Google knowledge graph (Enable)

role manager (if have a few admins, you may need this) (don’t enable)

search console (connect google console to rank math to get you important information) (enable)

SEO Analysis (enable)

Sitemap (enable)

woocommerce (enable if necessary)

ACTUAL OPTIONS AND SETTINGS

STRIP BASE - risky, don’t need it (OFF)
Redirect attachments (if anyone clicks on an attachment page, they will be redirected to the post it appears in)
  • old way was to redirect image on post to attachment page, better to redirect attachment page to image
Redirect orphaned media
  • ensure attachments used in several pages or posts redirect to the post you want
  • if you deleted the original post, then it’s orphaned
Remove stop words from permalinks (doesn’t matter too much, if you clean up your slugs) (disable)
No follow all external links (obviously not)
no follow affiliate links that you are promoting (so you don’t pass page rank, or ’juice’)
  • you need external links to build your page authority
  • if the page is obviously promoted you can no follow it and that will be fine
no follow image links (host them locally anyways)
open pages in external links (make sure you do this selectively, not all at once)
Add missing alt attributes (automate the alt tag) - better to write them yourself (first and foremost for screenreaders)
  • if you have an asset with a lot of products, it will take a long time to generate all the alt tags yourself, then you can use this
add missing title links NO
breadcrumb tools (on)
  • create a child theme and insert into theme template files
  • pick your seperator
  • show home page link
  • prefix for the breadcrumb path
  • archive format
  • search results format
webmaster tools help you to paste your code in, and find out where you need to get your code from and where to post your site
edit your robots.txt file (how to optimize)
edit your .htaccess file (how to optimize)
others tab (auto update)
  • rss before and after content (RSS is not something I even use anymore)
Redirections (redirect all 404s to home page) (I think it’s okay, some people say you should always redirect to a custom page)
  • to the home page just gives you that home boost again, which might confuse your readers and send them elsewhere
  • to a custom 404 page, ensures users know your page doesn’t work, and might give them an option to find something similar
  • better to use a 301 redirect to put them to a new article
301 redirect tells google: “this page is now this page”
if content doesn’t exist anymore, you want to use a 410 to declare the content has been deleted and removed
302 is for temporary
auto post redirect (need premium in yoast), if you change the url, users clicking the old url will be automatically redirected to the new url (toggle yes)
Search console integration in Rank Math?
  • just use Google Site kit Plugin
global meta
set robots txt for global settings (don’t touch)
advanced robots meta (leave it, it’s good)
No index empty category and tags page (what it says)
Separator character (I like |)
Very first letter of very first word capitalized
Opengraph thumbnail default image (if you don’t have one on the page)
(Local SEO) contact information with schema markup
  • make sure this matches what you enter in your google my business profile
  • [rank_math_contact_info] short-code
  • can’t set custom hours - you need to get them to call you
  • have to set up holiday hours from google my business page
  • price range (guide on googles docs for google my business, read that)
  • about page and contact page should all be included (or use anchor tags, if same page)
  • add a google maps api key to get the geo co-ordinates (you need to put in a payment method and you need to pay for it)
  • include your geo co-ordinates
Social Meta (everything you put in there will go into your knowledge graph data)
home page (edit your home page markup)
author robots meta (leave at default meta)
Article type for blog posts (use organization for articles, use person for blog posts)
Post Robots Meta (is fine)
Link suggestions (on)
Focus keyword
primary taxonies (categories)
Media (as your attachment pages, doesn’t matter as they are redirected)
categories mark up is perfectly fine
  • add seo meta box on
  • remove snippet data on
tags markup (uncheck the no index) no reason to strip
site-map settings

-links per sitemap 200 - 1000

  • bad host can use 200
  • images in the site map - yes
  • include feature images - yes
ping search engines (on, but be careful about security)
author roles are actually all user roles

– if you’re using bbpress or buddy press you may want to change these settings

posts, ya obviously you want the post to appear in the site map
custom field for handling images, include them here
Media, you don’t want to include media in the site map
categories should be included, empty terms not
tags should be included, empty terms not
redirections (click learn more)
  • export to .htaccess, settings
  • add a redirect (when you change a page or change the name of an url that has already been indexed by a search page)
  • create the redirect at the time of renaming the url
  • Nginx config file (? look into this)
Search console, he’s not a fan of this implementation, he likes Google Site Kit Plugin
SEO OPTIMIZATION (START SITE WIDE ANALYSIS)
how to block your plugin visibility (?)
how to block your theme visibililty (?)
status tools (debugging tools put in to help debugging)
pillar content is the same as cornerstone content, mark a post that you’re frequently updating and is important for your ranking
your title doesn’t contain a positive or negative sentiment (headlines, bestseller’s code)
your title doesn’t contain a power word
use number one, or best, or how, or the
more click baity when you post on social media (social media you want to get users to click) (buzz feed)
Search marketing (get your content in front of users) (try to get long-tail key words in there, and unique niche words)

rank math is owned by my-theme-shop

Translate Press Multilingual SEO (Premium Plugin)/ SEO PACK ADD-ON

Start with Keyword Research

Research your audience so you can understand the local culture.
Have native speakers translate or at least check your multilingual content.

Make Sure Google Can Crawl Each Language

  • each language version needs a different URL or subdomain, de.example.com or example.com/de.
The TranslatePress plugin uses subdirectories (aka sub-folders) for each language, which is one of Google’s recommended approaches

Translate Press allows URL slug language customization

example.com/hello-world example.com/de/hello-world Instead of:
example.com/hello-world example.com/de/hallo-welt

To access it make sure to switch from the visual translation editor to the String Translation tab

Add The hreflang Attribute So That Google Knows The Primary Language For Each Piece Of Content (multilingual SEO )

<link rel=)alternate) hreflang=)en-US) ref=)https://example.com)/>
<link rel=)alternate) hreflang=)de-DE) href=)https://example.com/de/)/>

Create A Multilingual XML Sitemap

TranslatePress’ SEO Pack add-on integrates with popular SEO plugins (like Yoast, Rank Math, SEOPress etc.) and extends their sitemap
functionality to help you automatically implement a multilingual sitemap that follows Google’s recommendations.

Don’t Use 100% Automatic Translation if You’re Serious About SEO

  • You can use the visual translation editor to manually refine the translations or setup translator accounts for native

speakers to go over them.

Make Sure You Can Configure Titles and Meta Information For Each Language

-Use Translate Press SEO Plugin to Translate SEO metadata and other plugin data

Use the International Targeting Report in Google Search Console

  • Learn more in Google’s guide to International Targeting. Or, if you’ve already added your site to Google Search Console, you can

head straight to your International Targeting report.

Woocommerce optimization

Product Titles seo

title must contain the keyword.
Use 50-60 characters on your product title;
show your website name after the product title.

Optimize Product Permalinks

-use keyword in permalink
-no stop words
-not more than 3-4 words.

Product Meta Description

  • meta description contain no more than 160 characters.
  • keywords recurring no more than two times.
  • meta description clear and to the point.

Appropriate (Alt) Text for Product Images

  • If I want to buy a green bag, then, your image alt tag must contain the keyword “green bag”

Product Categories and Tags appropriate

  • “Bag” can be a category and

“women bag”, “Men bag”, “Schoolbag”, can be taken as tags.

If you have separate page and content about the category and tags; then, optimize it for SEO.
however, if categories and tags pages are empty and optimize takes away from pages you want to rank, mark as “no index”

Enable Breadcrumbs

Breadcrumbs provide proper internal linking between webpages and provide a clear path. It also helps with navigation when browsing other pages.

enable breadcrumb through theme functionality.
If the theme does not have a breadcrumb feature, enable it on the Yoast or other seo plugin.

No-Index Empty Pages, and don’t include in sitemap.xml

When adding product, make sure you perform on-page SEO.

Blog about products

optimize product descriptions

put call-to-action-buttons on product pages

put attention-grabbing images on the product page

Enable Woocommerce breadcrumbs (recommended, up to 3 levels deep)

ensure they are not removed, if this code is present in your functions.php file, remove it

function remove_wc_breadcrumbs() {
remove_action( ’woocommerce_before_main_content’, ’woocommerce_breadcrumb’, 20, 0 );
}
add_action( ’init’, ’remove_wc_breadcrumbs’ );

if you are using woocommerce breadcrumbs, but not using yoast breadcrumbs any longer
  • you can add this to child theme functions.php and change the breadcrumb seperator

function change_woo_breadcrumb_delimiter( $defaults ) {
$defaults[’delimiter’] = ’�’;
return $defaults;
}
add_filter( ’woocommerce_breadcrumb_defaults’, ’change_woo_breadcrumb_delimiter’ );

Use Autoptimize

javascript/css/html
optimize javascript code - yes
aggregate js - yes
aggregate inline js - no (cache too large)
cache clear at top - yes, use
force javascript in head - no
exclude -> wp-includes/js/jquery/jquery.js
try-catch wrapping - > maybe works
optimize css code - yes
aggregate css files - yes
aggregate-inline-css - no
  • moves inline css into its own file and directory
    • this could increase cache size on elementor, divi, visual-composer, where css is dynamically inserted
    • genesis, getenberg, standard wordpress - yes
Generate Data URI’s -> (only if you really want to go the distance) so likely - no
  • base64 code (inline) small background images from your css files, makes your actual pages larger, maybe decreases load time, maybe not
inline and defer css - no (only if you try the Autooptimize Critical CSS Power-up)
inline all css - no (never)
exclude CSS from Autooptimize - uninclude dashicons.min.css for smaller page size (benefit from better compression ratios)
optimze html code - take out whitespace, remove some comments, hopefully compress it (turns 376 lines of code into 10)
inline javascript does not get compressed
CDN BASE URL - NO
  • if you have pull CDS set-up, example: through cloudfront, rewrites the URL they gave into your compressed files (don’t need it with cloudflare)
save aggregated css as static - yes (only uncheck to get them served as php, for example when your server is spitting out an error)
Minify exclude css and js - yes (unminifies excluded files)
also optimize for logged in editors/admins - no
autooptimize images
autooptimize images - no, test page speed, probably don’t need this in europe (compresses images, sends them to ShortPixel servers for caching/file-size-reduction/and conversion to webp)
lazy load images - yes | no-scripts your image - ties it to a data-source, using url of original image. Image loads only when in viewport
  • improves load time reduces bytes on initial load
Extra Options
google fonts
leave as is - not bad
otherwise combine and link in head blocks rendering (shows fonts after)
combine and preload in head (flashes an unstyled font - adds https://fonts.gstatic.com), which I recommend for google fonts
remove emojis - yes
remove query strings - yes
preconnect to third party domains - yes, but only once you know which domains you want to preload ()

This may add these type of preloads, I haven’t tested it
examples:
<link rel=’dns-prefetch’ href=’//s0.wp.com’ />
<link rel=’dns-prefetch’ href=’//s.pubmine.com’ />
<link rel=’dns-prefetch’ href=’//x.bidswitch.net’ />
<link rel=’dns-prefetch’ href=’//static.criteo.net’ />
<link rel=’dns-prefetch’ href=’//ib.adnxs.com’ />
<link rel=’dns-prefetch’ href=’//aax.amazon-adsystem.com’ />
<link rel=’dns-prefetch’ href=’//bidder.criteo.com’ />
<link rel=’dns-prefetch’ href=’//cas.criteo.com’ />
<link rel=’dns-prefetch’ href=’//gum.criteo.com’ />
<link rel=’dns-prefetch’ href=’//ads.pubmatic.com’ />
<link rel=’dns-prefetch’ href=’//gads.pubmatic.com’ />
<link rel=’dns-prefetch’ href=’//tpc.googlesyndication.com’ />
<link rel=’dns-prefetch’ href=’//ad.doubleclick.net’ />
<link rel=’dns-prefetch’ href=’//googleads.g.doubleclick.net’ />
<link rel=’dns-prefetch’ href=’//www.googletagservices.com’ />
<link rel=’dns-prefetch’ href=’//cdn.switchadhub.com’ />
<link rel=’dns-prefetch’ href=’//delivery.g.switchadhub.com’ />
<link rel=’dns-prefetch’ href=’//delivery.swid.switchadhub.com’ />
<link rel=’dns-prefetch’ href=’//a.teads.tv’ />
<link rel=’dns-prefetch’ href=’//prebid.media.net’ />
<link rel=’dns-prefetch’ href=’//adserver-us.adtech.advertising.com’ />
<link rel=’dns-prefetch’ href=’//fastlane.rubiconproject.com’ />
<link rel=’dns-prefetch’ href=’//prebid-server.rubiconproject.com’ />
<link rel=’dns-prefetch’ href=’//hb-api.omnitagjs.com’ />
<link rel=’dns-prefetch’ href=’//mtrx.go.sonobi.com’ />
<link rel=’dns-prefetch’ href=’//apex.go.sonobi.com’ />
<link rel=’dns-prefetch’ href=’//u.openx.net’ />

preload specific request <link rel=’preload’ href=’ligthhouse-etc…’> only if you have an error in your console and a suggestion to preload
preloading too many assets can cause rendering issues, eats up main thread time on mobile
async javascript (not if it’s minified and combined),
  • async and defer are options you want to add to all javascript then choose to load them in the header, only when javascripts are minified and combined and compressed it’s not here recommended
optimize more
  • short-pixel if you want to have images served from CDNs
  • WP rocket
  • Critical CSS
critical css - what they use to power-up your css
remove clear cache from tool bar (miniscule faster, but cleaner…go to setting)
add to functions.php

* Disable Autoptimize Toolbar *

add_filter(’autoptimize_filter_toolbar_show’,’__return_false’);
You can add the above code in one of the following places:

Make Your Website Mobile-Friendly (check with google mobile friendly tester)

Secure Your Site with HTTPS (Check)

Edit Theme for Semantic Tag Use

  • structure matters (article tags, footer tag, main tag, navigation tag)

Don’t be afraid to remove or no-index outdated content to allow your newer/better content to rise (no-index tags)

Do not include numbers in titles, except for current or upcoming year near end of title

Optimize for Google discover

ensure against mixed-content errors

Off-page SEO factors that encourage engagement by users

Google my business

Host, fast host means better SEO, recommended most popular us wordpress specialized hosts are

bluehost

dreamhost

siteground (site ground is the fastest, and they are European)

ensure gzip compression on host (should be enabled by most hosts, if not add to htacess)

<IfModule mod_deflate.c>

AddOutputFilterByType DEFLATE text/css text/x-component application/x-javascript
application/javascript text/javascript text/x-js text/html text/richtext image/svg+xml
text/plain text/xsd text/xsl text/xml

</IfModule>

Build Powerful SEO Backlinks with Guest Posting:

  • There is no SEO without backlinks
  • A backlink is the top 3 ranking factors of Google.
  • get people to link back to you, allow do follow for seo backlinks

Participate in Interviews and events as a speaker:

Mention Influencers in your Blog Posts:

Email outreach as an external influencing ranking factor (mail chimp)

  • if you can pull it off, e-mail marketing will drive traffic to your sites and increase viewers, followers, comments, and ranking

Give participants opportunities to take part, excel, and move forward in life

  • credentials, instructors certificate, blog post contributors, video contributors and participants

Video blogs, optimized through youtube

Get listed on local business listings

Don’t use too many or too small Calls to Action (CTA)

  • Visible Buttons or Popups
  • CLICK HERE TO DOWNLOAD OUR USERS GUIDE, SIGN UP HERE TO JOIN OUR MAILING LIST, ENTER YOUR E-MAIL HERE TO WIN FREE ACCESS TO OUR INSTRUCTOR TRAINING VIDEOS

Get Online reviews (another way of SEO to increase traffic)

  • get people to give you good yelp reviews

Get mentioned and linked to from sites with high authority (write up in national online paper) (if possible ensure SEO friendly)

Use instagram to search by location and filter by check-in

Promote success of graduates and partners online

Miscellaneous Tips

Child-theme not customizer

Do your customizations in the customizer (not recommended)

Get your dev to create a child-theme and port your customizer changes to a child-theme (recommended)

Disable wordpress admin bar

Disable for all users

add to functions.php in child theme
add_filter(`show_admin_bar’, `__return_false’);

Disable only for non-admins (add to functions.php)

function remove_admin_bar() {
if (!current_user_can(’administrator’) && !is_admin()) {
show_admin_bar(false);
}
}
add_action(’after_setup_theme’, ’remove_admin_bar’);

Cache busting

Add following to functions.php (in child-theme)

function set_custom_ver_css_js($src)
{
// Don’t touch admin scripts.
if (is_admin()) {
return $src;
}

$_src = $src;
if (strpos($_src, ’//’) = 0) {
$_src = ’http:’ . $_src;
}

$_src = parse_url($_src);

// Give up if malformed URL.
if (false = $_src) {
return $src;
}

// Check if it’s a local URL.
$wordPressUrl = parse_url(home_url());
if (isset($_src[’host’]) && $_src[’host’] !== $wordPressUrl[’host’]) {
return $src;
}

$filePath = ABSPATH . $_src[’path’];
if (file_exists($filePath) && strpos($src, ’ver=’) !== false) {
$src = add_query_arg(’ver’, filemtime($filePath), $src);
}

return $src;
}

function css_js_versioning()
{
add_filter(’style_loader_src’, ’set_custom_ver_css_js’, 9999);
add_filter(’script_loader_src’, ’set_custom_ver_css_js’, 9999);
}

add_action(’init’, ’css_js_versioning’);

Or if you have already enqueue_scripts and enqueue_styles in your theme functions, you can replace in child theme functions to append new digits to js and css files

wp_enqueue_style( ’markov-style’, get_stylesheet_uri(), array(), ’20170506’, ’all’ );
wp_enqueue_script( ’markov-navigation’, get_template_directory_uri() . ’/js/navigation.js’, array(), ’20151215’, true );

replace 20151215 with filemtime() function

Some Recommended Plugins

Google Site Kit

Search Console: Understand how Google Search discovers and displays your pages in Google Search. Track how many people saw your site in Search results, and what query they used to search for your site.
Analytics: Explore how users navigate your site and track goals you’ve set up for your users to complete.
AdSense: Keep track of how much your site is earning you.
PageSpeed Insights: See how your pages perform compared to other real-world sites. Improve performance with actionable tips from PageSpeed Insights.
Tag Manager: Use Site Kit to easily set up Tag Manager- no code editing required. Then, manage your tags in Tag Manager.

Wordfence

put it into security only mode (add to wp-config, near end)

define(`WORDFENCE_DISABLE_LIVE_TRAFFIC’, true);

Rank Math

Autoptimize / Or “Asset CleanUp” (Tests required to determine which is better)

Remove wordpress version tag

Add to functions.php child theme

remove_action(`wp_head’, `wp_generator’);

Cloudflare CDN integration

Is it necessary? this will depend on your reach, which you will see in your analtyics

Caches your files on cloudflares servers

You will need to check if the free option works for you

This comes with a bit of work to set-up, but is handy if you will have a lot of products

Meet new people, improve their speaking skills, they want act like tom cruise, travel, become an instructors

call to action