Accelerated Mobile Pages

Purpose and how it works

Serve pages FAST on mobile devices. Stripped-down pages load quickly because of less data and cached on Google servers.

AMP pages are displayed only when clicked on from Google search results, and only to mobile users.

Your AMP should offer a user experience equivalent to the corresponding non-AMP page, as much as possible

Google favors AMP pages

Backlinks to AMP pages found through Google search won’t transfer any link equity to your site

Limitations

AMP HTML: no forms allowed.
Limited JavaScript. All CSS must be inline and is limited in size.

It’s not clear why can’t an AMP page link to non-AMP page that contains the form: “”AMP pages must be recognized as being fully isolated. There is no navigation to the rest of your site, nor is there support for your homepage, blog indexes, etc.” Really? Doesn’t this rule break the web?

How important is it for WP theme to be AMP-compliant? All the standard templates are plus Genesis Framework and two Genesis child themes. Docs claim other themes can be made compliant with minimal changes

AMP pages’ enhanced load speed and boosted search rankings come with an ironic trade-off: backlinks to AMP pages found through Google search won’t transfer any link equity to your site.

Strategies to implement AMP:

Use WordPress AMP plugin

Code your AMP pages by hand, as separate pages, and served from a folder within the main website (my untested idea)

Steps for WordPress and how it works:

  • Install the AMP plugin, configure for reader mode (another mode codes ALL pages as AMP)
  • https://wordpress.org/plugins/amp/
    Install Yoast SEO plugin if not already there
  • Install the plugin “Glue for Yoast SEO & AMP”
    – might be needed to config AMP for more than single post pages
    Create your AMP
    – create AMP pages in AMP HTML
    – set your AMP link strategy
    – create the two canonical links in the <head> section of both pages via Yoast
  • Add structured data to enable AMP-specific features in search results e.g. in top pages carousel – step might be optional
  • Add structured data to enable AMP-specific features in search results.
  • Check your AMP and fix problems
    – AMP must be valid in order for Google to accept/index
  • Update the Google Cache for your AMP – get your AMP onto Google servers
    – How? And, Google cache is part of why pages serve so quickly
    Check AMP at Google Search Console
  • – Search Appearance > Accelerated Mobile Pages
    – it may take some time (how long?) for your AMP to appear

Some Details:

How to tell Google there’s an AMP variant of your web page? We add information about the AMP page to the non-AMP page and vice versa, in the form of <link> tags in the <head>.

Add the following to the non-AMP page:

<link rel=”amphtml” href=”https://www.example.com/url/to/amp/document.html”>

And this to the AMP page:

<link rel=”canonical” href=”https://www.example.com/url/to/full/document.html”>

AMP URL scheme: Your AMP URL scheme should make sense to the user.

Canonical page:

https://urban.realtor/myarticle

AMP options:

https://amp.urban.realtor/myarticle
https://urbanlrealtor/myarticle/amp
https://urban.realtor/amp/myarticle
https://urban.realtor/myarticle.amp.html

Tutorials:

WPBeginner: brief introduction, there’s gotta be more, such as how to update Google cache?
– set “reader” mode if you want to set up a limited set of AMP pages, for the most important or most visited pages
– focuses on changing APPEARANCE of AMP – why?
– Yoast plugin? will set up the canonical URLS

amp.dev: Specifics for implementing AMP outside of a CMS, should be helpful in using WP AMP plugin

Getting Started with AMP on Google Search: https://developers.google.com/search/docs/guides/enhance-amp

Codelabs: Seem like tutorials to learn AMP, E.g. the AMP Foundations “lab” is here:
https://codelabs.developers.google.com/codelabs/accelerated-mobile-pages-foundations/#0

Tools and Resources:

Validate AMP pages: article is here: https://amp.dev/documentation

AMP test tool is here: https://search.google.com/test/amp

Validate structured markup on pages: https://search.google.com/structured-data/testing-tool

https://www.wpbeginner.com/wp-tutorials/how-to-properly-disable-google-amp-in-wordpress/:

– Google does not penalize websites for not using AMP.
– alternatives: improve your website’s speed and performance on mobile to compete for mobile search audience

Auto-Updating WordPress – core, plugins, themes?

I was surprised to see that my big client’s LIVE website was automatically updated to WP 5.0.1. It appears my client is letting SiteGround’s auto updater do this. What is your philosophy of allowing WordPress automatic updates vs. doing them manually?

I see WPBeginner describes how we can fine tune the type of auto updates by installing the Easy Updates Manager plugin:

Easy Updates Manager

It’s highly rated, does anyone have experience with this plugin, or recommend a different plugin, or would you rather set variables in wp-config.php to configure the auto updates?

WordPress default is to auto update WP core minor updates only. However you can control: whether to automatically update plugins, themes, WP core MAJOR updates, or disallow ALL auto updates.

More info on this topic, including pros and cons of auto updating, can be found here:
https://www.wpbeginner.com/wp-tutorials/how-to-disable-automatic-updates-in-wordpress/

Note that the likelihood of a WordPress update breaking your website can depend on whether you’ve modified core WordPress files of your website, or whether you have a LOT of plugins which can conflict with each other.

My preference is to apply ANY update manually, at a time of my choosing, so I can backup before, apply the updates, then check the website. But that’s time consuming. Has anyone experienced a WordPress (or plugin) update that broke a website? What turned out to be the cause?

How to Override PHP Files in Your Child Theme

I figured how how to override an arbitrary file in a child theme. It is ALMOST as simple as placing the override file in the corresponding folder for the child theme. The step I didn’t know about, was to add a require_once() for the specific file in the child theme’s functions.php. Here is my example step by step:

My example is how to replace the font list in Customizr theme, with my own font list.

WordPress admin screen showing customizer for Customizr theme's Google Fonts setting

1) If I were to “hack” the parent theme to make this change, I’d change the file wp-content/themes/customizr/core/init-base.php

2) Make a copy of core/init-base.php, make your changes, and place it in the child theme’s folder: wp-content/themes/customizr-child/core/init-base.php.  Note you must create a “core” folder in which to place init-base.php — you must replicate the full path of the overridden file (or whatever file you refer to in step 3).

Screenshot of Windows Explorer
The overriding file is in the “core” folder

3) Modify your child theme’s functions.php to include the overriding file, by adding the following line:

require_once( get_stylesheet_directory() . 'core/init-base.php' );

Why? According to the WordPress codex: https://codex.wordpress.org/Child_Themes, about half way down, see …

Referencing / Including Files in Your Child Theme

When you need to include files that reside within your child theme’s directory structure, you will use get_stylesheet_directory(). Because the parent template’s style.css is replaced by your child theme’s style.css, and your style.css resides in the root of your child theme’s subdirectory, get_stylesheet_directory() points to your child theme’s directory (not the parent theme’s directory).

Here’s an example, using require_once, that shows how you can use get_stylesheet_directory when referencing a file stored within your child theme’s directory structure.

require_once( get_stylesheet_directory() . '/my_included_file.php' );

In my case, I’ll add this line to my child theme’s functions.php:

require_once( get_stylesheet_directory() . 'core/init-base.php' );

Screenshot of TextPad with Filezilla behind
Adding the “require_once” line to the child theme’s functions.php

4) Upload the new file and the modified functions.php to your web server, and the next time you access the font choices in the customizr, you’ll see your new font list.

How to Add a Title Tag to your Image in WordPress

It seems both WordPress and Joomla make the website editor go the extra mile to add a title tag to an image in a post.  This is the tag that allows you to describe the significance of the image.  Browsers usually display the tag’s value as a “tooltip” when the visitor hovers over the image.  Not to be confused with the “alt” tag which describes how the image looks to a visually impaired person and helps Google to rank the image.

Small five-petaled pink flowers - Leptosiphon montanusTry hovering over this image to see how your browser displays the title tag.

Both CMS’s automatically build an alt tag value when the image is first used in an article or post.  Joomla hides the setting for the title tag behind an “Advanced” tab in the JCE image editor.  That’s not helpful for encouraging a novice author to provide text for the title tag.

Today in WordPress I wanted to add a title tag to the image in my new post.  I dutifully filled in the caption, description and alt tag values in the image editor when I uploaded my image.  A title tag was automatically filled in for me.  But when viewing my post in a browser window, no tooltip on hover!

So, I went to text mode in my post and added the title tag “by hand.”  This time on hover I got an entire paragraph of text with embedded HTML markup.  So that didn’t work.  On close examination of my markup I could not see what was wrong.  So I found this helpful article by WPBeginner.

WordPress post editor, showing image selected
WordPress image editor, showing an image selected, pointing out the edit button

It explained the purpose of alt and title tags, and even explained that the “title” setting WordPress uses when the image is first uploaded, is NOT the title tag that shows as a tooltip.  The article’s directions said that, in my WordPress visual post editor, click on the image then click the edit button that appears.

Look in the “advanced” section to find a field you can fill in with the value of the title tag.

I had to hunt a while to find the “advanced” section, as it was out of view within the popup box.   But finally, “success!”Editing image title attribute - screenshot

I have figured out how to add the title tag in two ways now: if nothing special is going on with captions or other shortcodes, you can simply add a title attribute to the image in question in the post editor’s text mode; or you can use the image editor, scroll down to “advanced” settings and fill in the tag there.

By the way, in adding those last two images, I was reminded of how easy it is in WordPress to display a CAPTION for the image: you just fill in the caption field within the image source.  In Joomla how the caption is used depends entirely on the template, and it requires tricky CSS overrides on the web developer’s part, and perhaps CSS knowledge on the editor’s part, to make it look good.

Also, I accidentally selected two images and found BOTH were inserted into my article.  Does anyone have a good use for such a feature?