What IS a Blog?

(This is a sticky post)

In his 2011 book, Joomla! 1.6: A User’s Guide – Building a Successful Joomla! Powered Website, Barrie North describes “what is a blog?”  Here is my summary of his topic:

What IS a blog?
* communication medium: typically frequent brief posts about a particular subject
* unique communication style: honest first-person voice
frequent posting: daily? weekly?
* usually posts are brief, only introductory text is shown on the main page, along with a “read more link
* make regular posts to build a loyal readership that will have consistent expectations about your blog content

Carol’s comment: who has time to regularly read anyone’s blog? Even as much as I value Jacob Nielsen’s “Alert Box,” I only visit when I have time to read, and first I search through his recent topic lists to choose what to read. Or I read someone’s blog post when it turns up in Google search results.

Which platform? Barrie says pick one that’s extensible to other types of web pages. In 2011, when Barrie North published his book, WordPress was (probably?) not so extensible.  Hence Joomla was the choice.  Now (in 2015) WordPress has evolved into a more general website platform.

How to order posts?

Please Ban Gas-Powered Leaf Blowers …

… In Cupertino.  My request to the City Council went nowhere.

City Countil’s reply simply listed Cupertino’s leaf blower regulations.  Feel free to use my wording to write your own message to your own city.

Honorable Councilmembers:

I am writing to request that Cupertino ban gas–powered leaf blowers throughout the city.

I have lived in my own home in Cupertino since 1987. Almost every day, my concentration is interrupted by the whining roar of gas–powered leaf blowers used by landscapers in my neighborhood.  The harm done to me and other residents is a cost imposed on us which is not compensated.  Given that alternatives exist which do not cause this harm, it is reasonable to ban gas-powered blowers.

Why now?

As of January 1, 2024, the sale of new gas-powered blowers is banned throughout California (AB 1346).  In addition, five other Bay Area cities have bans that went into effect on July 1: Menlo Park, Atherton, Burlingame, Hillsborough, and Lafayette.  This page (www.lovelafayette.org/city-hall/commissions-committees/environmental-task-force/leaf-blowers) describing Lafayette’s ban includes features I want to see implemented in Cupertino’s ban.

    • Citywide, including commercial zones
    • Property owners are responsible for violations by their landscapers
    • Easy to report violations online (similar to Cupertino’s 311 reporting system)

Fifteen cities in the Bay Area now have gas-powered leaf blower bans.  Cupertino has a reputation for being one of the best places to live in California.  Let’s join these cities in protecting the environment and the health of its residents by banning gas-powered leaf blowers now.

Carol Mattsson
Cupertino resident

When it comes to blowing leaves around uselessly and creating an insane amount of noise, this model can't be beat.
“Leaf blowers are too loud. This leaf blower machine is beyond a doubt the worst invention ever created.” —Baltimore Sun, Opinion (10/15/2017)

Reality Check

How do you decide how you feel about various political issues? How do you know what and whom to believe? Voters (citizens) must think critically, ask questions and fact check politicians. One of my friends wrote these simple guidelines, which I agree with:

    • Freedom is a founding principle and core value of the United States.
    • Political discussion should be about issues and solutions.
    • Truth matters! Fact check. Reality check.

Hello to Howards Grove High School 50th Reunion

Hello HGHS Friends!

Thanks for planning the reunion for the class of 1974. It sounds very inviting, but it’s too far away from my California home for me to attend. Instead, here is a letter from me.

In the (May 2024) invitation I especially appreciate you listing the new last names of my classmates. I’m also saddened to see asterisks next to the names of those who have, I presume, passed away. RIP especially to Rosemary Meyer and Mary Tiede Wilhelmus. Continue reading Hello to Howards Grove High School 50th Reunion

Recommend Replacement Web Hosting For Me?

Hello WordPress Helpdesk, from irregular attendee Carol in Cupertino.

We know web hosting companies often “flake out” over time, and I fear this is happening to InMotion Hosting, which I’ve had since 2014. So I’m looking for recommendations for a new web host. Here are some requirements and about the way I work, so you can think of YOUR experiences and what advice you have for me:

My budget and website sizes are that I like shared hosting, but the higher end plans, such as InMotion Hosting’s VPS plans or SiteGround’s GoGeek plan.

I like to have my websites on TWO DIFFERENT web hosts, so I can play them off each other for diagnostic purposes. Right now I think SiteGround is great, and that’s where I host my live websites. For most clients, I set up their own web hosting account at SiteGround, usually the “GrowBig” plan. My second choice, since 2014, is InMotion Hosting, but they have enough odd errors that I save IMH for my development/staging and practice websites.

About specific web hosting companies, there are five that I don’t want for various reasons:

    • GoDaddy: mediocre tech support years back plus more recently, they didn’t follow one client’s directions and completely ruined another client’s website
    • HostGator: they don’t care if their web servers get blacklisted for sending email spam and one day or more turnaround for tech support (experience as of about 5 years ago)/li>
    • BlueHost: three totally time-wasting responses on tech support early in my web developer career, plus later, slow web server and slow to offer PHP versions that are still being updated (as of about 10 years ago)/li>
    • Network Solutions: totally incompetent and slow tech support since they changed ownership several years ago./li>
    • DreamHost: has decent tech support, but we must learn proprietary control panel and we must wait at least 10 minutes to change the PHP version for a website

(Tip: if any web hosting review article favors any one of these web hosts except DreamHost, I know it’s a fake, or at least biased, review.)

In general I want:

* Decent website speed

* cPanel (though a GOOD proprietary control panel like SiteGround’s is OK)

* Online tech support chat within 15 minutes, support ticket response within 1/2 to 1 hour

* Tech support that actually READS the ticket and asks if they don’t understand my question

* Pricing I would like to pay $300 – $500/year

I don’t want to use meetup time to debug the problem that InMotion Tech support has failed on, because apparently it’s a tough problem and even Astra theme tech support is struggling with it. But for context here it is: The website gets a fatal out of memory error if I go to Appearance > Customize or Tools > Site Health. Pretty much no matter what the PHP memory limit is set to, or what version of WordPress I’m using. It happens only in PHP 8.1, not PHP 8.0 or 8.2. I even made a fresh install of WordPress, with free Astra theme, that demonstrates the problem. It doesn’t happen on other web hosts, or with other themes, so I think there’s something wrong with my web hosting configuration or some bug in Astra theme.

The techs are polite and I think they honestly want to help me, but what I don’t like about the tech support I’m getting from IMH is:

* They’re not actually trying out the solutions they suggest (changes to the PHP INI variables).

* 2-3-5-6 days between ticket responses. It’s been about month and I’ve given up.

* The most infuriating response is they change the PHP version to 7.4 and pronounce the problem as fixed. Even Astra tech support has done this, twice.

So even if the long-term solution is to leave my development websites at PHP 8.0 (which as you know went out of even security updates on November 27), or wait for WordPress to catch up with PHP 8.2, I’m worried that InMotion Hosting will not be able to provide timely, effective tech support. Do any of you have a recommendation that will help me?

Coronavirus December Surge – My Thoughts

With the current post-Thanksgiving surge and subsequent lockdown, I am feeling ANGRY at people who deny the pandemic and won’t wear a mask or social distance, because they SPREAD the virus even if they themselves don’t get sick. Or they take up ICU beds if they do get sick. Even if I take the recommended precautions, they are not perfect and for success they rely on a low positivity rate.

I have added mail order shopping for dry goods, to reduce the frequency of my grocery store visits. I think I’ve got it down to once a month, but It takes me extra time to plan my purchases and recipes so carefully. And results in freezer and fridge gridlock right after a grocery trip. I’ve made these changes in spite of the difficulty, because something that gives me pleasure and keeps me healthy is eating tasty, fresh, homemade food. Plus I no longer do carryout since the pandemic started.

Will I be able to get into the grocery store on my next trip (Costco) now that shopper capacity is restricted to 20% of capacity? Or how long will I need to wait in line to get in, even during senior hours? I’ll likely be shopping indoors near the same amount of people as a month ago, but with a higher positivity rate, the chance of getting infected is higher. (As I mentioned above.) Even though I’m better off than most, I still don’t like this situation!

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 Add a New Post to Your WordPress Website

In this example, I’ll show you how to add a new “Perspective” at debbieduncan.com.

Go to the Perspective’s URL in your browser, e.g. https://ww2.kqed.org/perspectives/2017/12/12/christmas-cards/
In another browser tab, log in to go to your WordPress admin and go to Posts. Hit the “Add New” button.

Posts Page – Start Here to Add a New Post

The add new post form appears. Make sure the Visual tab in the editor is in front. Fill in your title and text and check the category (KQED Perspectives). Fill in the date in the “publish” block upper right, which determines the ordering in the Perspectives widget.

Fill in Your Post’s Content: Title, Text, Category, Date etc.

 

Creating a Link

Also fill in the Perspective’s date within the post text along with a link to the audio version:

    • Start by copying the date and link from another Perspective.
    • (Oops I got lost – edit/update needed!)
    • Once you can see the old link (in that other Perspective), click anywhere within it, to make an edit link short form appear. Hit the little pencil to paste in the new Perspective link (from your other browser tab)
    • Hit the link options icon to be sure the link will open in a new tab
    • Hit the little blue “apply” arrow to save your link changes.
Choose Link Options to Open a Link in a New Tab

Hit publish to publish your Perspective.

Finally, check your work from the front end. If your Perspective is the newest one, it should appear first in the list. Make sure your audio version link goes to your intended page. Make any necessary corrections.

Check Your Work , from the Website’s Front End

Optional: add tags to your post

Adding tags for SEO seems redundant in this case, as the title is already “Christmas Cards” – but as author you may have other meaningful words in mind.

Some websites may use the tags to find/show posts according to their tags. At such a website the purpose would guide you as to the words.

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.