SlideShare a Scribd company logo
Advice for
New WordPress Developers
Susan Walker
WordCamp Lancaster 2019
Who is this person
& why is she offering us advice?
A talk offering a user’s perspective.
Keep It Simple
Don’t aim to be all things to all users.
The ideal site has neatly-fitting parts.
The reality is that the parts rarely fit.
Exclude plugin
meta box
Exclude extended
using hooks
Pay Attention
to Details
• Valid HTML
• Valid CSS
• Correctly enqueued JS & CSS
• Accessibility compliant UI
• Translation templates
• Right-to-left layouts
• Professional spelling & grammar
• Useful readme file content
Hinder bad bots with index files.
• hipster images
• images of a hipster
• hipster backgrounds
• dark hipster
• hipster Tumblr themes
• hipster 2014
• hipster png
• dark background images
Bad Search Terms for Dance Site
Clean up after yourself.
Check that it works on multisite.
Be Kind
to Your Users
• Security over all other things
• UI consistent with WP core
• Essential menus/submenus only
• Clearly-labeled fields
• Minimal admin notices
• No promotional popups
• Easy migration after updates
• Careful use of roles & caps
Good UX &
Managing
Expectations
Security,
Transparency
& Ethics
Treat users as you want to be treated.
Thank You!
Susan Walker
@susanwrotethis
susanwrotethis.com
linkedin.com/in/susanwrotethis

More Related Content

What's hot

Using WordPress.com for Business.
Using WordPress.com for Business. Using WordPress.com for Business.
Using WordPress.com for Business.
Saravanan S
 
How to get a great website
How to get a great websiteHow to get a great website
How to get a great website
Matthew Kuliani
 
Importance of Content Writing & Marketing for Plugin Developers
Importance of Content Writing & Marketing for Plugin DevelopersImportance of Content Writing & Marketing for Plugin Developers
Importance of Content Writing & Marketing for Plugin Developers
Vishal Kothari
 
Developing and deploying a website with html5
Developing and deploying a website with html5Developing and deploying a website with html5
Developing and deploying a website with html5
Chris Love
 
New SEO Approaches For WordPress
New SEO Approaches For WordPressNew SEO Approaches For WordPress
New SEO Approaches For WordPress
Affiliate Summit
 
Php Indonesia x Bliblidotcom - Architecting Scalable CSS
Php Indonesia x Bliblidotcom - Architecting Scalable CSSPhp Indonesia x Bliblidotcom - Architecting Scalable CSS
Php Indonesia x Bliblidotcom - Architecting Scalable CSS
Irfan Maulana
 
Page Performance: A No-Holds Barred, Holistic Look
Page Performance: A No-Holds Barred, Holistic LookPage Performance: A No-Holds Barred, Holistic Look
Page Performance: A No-Holds Barred, Holistic Look
Jeff Whitfield
 
Make your website work for you
Make your website work for youMake your website work for you
Make your website work for you
Warren Denley
 
Writing for the Web (content)
Writing for the Web (content)Writing for the Web (content)
Writing for the Web (content)
Ramsey Mohsen
 
Reduce bounce rate
Reduce bounce rateReduce bounce rate
Reduce bounce rate
findclick read
 
Sass: An Introduction
Sass: An IntroductionSass: An Introduction
Sass: An Introduction
Gregory Borodaty
 
Website Essentials: the key ingredients and getting started
Website Essentials: the key ingredients and getting startedWebsite Essentials: the key ingredients and getting started
Website Essentials: the key ingredients and getting started
Interactive Church
 
Vivek Upadhyay | Cover Letter
Vivek Upadhyay |  Cover LetterVivek Upadhyay |  Cover Letter
Vivek Upadhyay | Cover Letter
Vivek Upadhyay
 
Design Camp Boston - Designing Faster Websites
Design Camp Boston - Designing Faster WebsitesDesign Camp Boston - Designing Faster Websites
Design Camp Boston - Designing Faster Websites
Jonathan Klein
 
WordPress for Nonprofits- TechTuesday
WordPress for Nonprofits- TechTuesdayWordPress for Nonprofits- TechTuesday
WordPress for Nonprofits- TechTuesday
Trish Perkins
 
SEO for Beginners - Betamore 2014
SEO for Beginners - Betamore 2014SEO for Beginners - Betamore 2014
SEO for Beginners - Betamore 2014
bevast
 
Food blogging at UBC
Food blogging at UBCFood blogging at UBC
Food blogging at UBC
Tris Hussey
 
Building Websites with WordPress UBC Summer 2012
Building Websites with WordPress UBC Summer 2012Building Websites with WordPress UBC Summer 2012
Building Websites with WordPress UBC Summer 2012
Tris Hussey
 
Agile pm lect1
Agile pm lect1Agile pm lect1
Agile pm lect1
Shiraz316
 
Ost 284 emerging technologies final exam
Ost 284 emerging technologies final examOst 284 emerging technologies final exam
Ost 284 emerging technologies final exam
marineaunt6789
 

What's hot (20)

Using WordPress.com for Business.
Using WordPress.com for Business. Using WordPress.com for Business.
Using WordPress.com for Business.
 
How to get a great website
How to get a great websiteHow to get a great website
How to get a great website
 
Importance of Content Writing & Marketing for Plugin Developers
Importance of Content Writing & Marketing for Plugin DevelopersImportance of Content Writing & Marketing for Plugin Developers
Importance of Content Writing & Marketing for Plugin Developers
 
Developing and deploying a website with html5
Developing and deploying a website with html5Developing and deploying a website with html5
Developing and deploying a website with html5
 
New SEO Approaches For WordPress
New SEO Approaches For WordPressNew SEO Approaches For WordPress
New SEO Approaches For WordPress
 
Php Indonesia x Bliblidotcom - Architecting Scalable CSS
Php Indonesia x Bliblidotcom - Architecting Scalable CSSPhp Indonesia x Bliblidotcom - Architecting Scalable CSS
Php Indonesia x Bliblidotcom - Architecting Scalable CSS
 
Page Performance: A No-Holds Barred, Holistic Look
Page Performance: A No-Holds Barred, Holistic LookPage Performance: A No-Holds Barred, Holistic Look
Page Performance: A No-Holds Barred, Holistic Look
 
Make your website work for you
Make your website work for youMake your website work for you
Make your website work for you
 
Writing for the Web (content)
Writing for the Web (content)Writing for the Web (content)
Writing for the Web (content)
 
Reduce bounce rate
Reduce bounce rateReduce bounce rate
Reduce bounce rate
 
Sass: An Introduction
Sass: An IntroductionSass: An Introduction
Sass: An Introduction
 
Website Essentials: the key ingredients and getting started
Website Essentials: the key ingredients and getting startedWebsite Essentials: the key ingredients and getting started
Website Essentials: the key ingredients and getting started
 
Vivek Upadhyay | Cover Letter
Vivek Upadhyay |  Cover LetterVivek Upadhyay |  Cover Letter
Vivek Upadhyay | Cover Letter
 
Design Camp Boston - Designing Faster Websites
Design Camp Boston - Designing Faster WebsitesDesign Camp Boston - Designing Faster Websites
Design Camp Boston - Designing Faster Websites
 
WordPress for Nonprofits- TechTuesday
WordPress for Nonprofits- TechTuesdayWordPress for Nonprofits- TechTuesday
WordPress for Nonprofits- TechTuesday
 
SEO for Beginners - Betamore 2014
SEO for Beginners - Betamore 2014SEO for Beginners - Betamore 2014
SEO for Beginners - Betamore 2014
 
Food blogging at UBC
Food blogging at UBCFood blogging at UBC
Food blogging at UBC
 
Building Websites with WordPress UBC Summer 2012
Building Websites with WordPress UBC Summer 2012Building Websites with WordPress UBC Summer 2012
Building Websites with WordPress UBC Summer 2012
 
Agile pm lect1
Agile pm lect1Agile pm lect1
Agile pm lect1
 
Ost 284 emerging technologies final exam
Ost 284 emerging technologies final examOst 284 emerging technologies final exam
Ost 284 emerging technologies final exam
 

Similar to Advice for New WordPress Developers

Better User Experience for WordPress Sites
Better User Experience for WordPress SitesBetter User Experience for WordPress Sites
Better User Experience for WordPress Sites
aungstad
 
What Makes SharePoint UX Good?
What Makes SharePoint UX Good?What Makes SharePoint UX Good?
What Makes SharePoint UX Good?
Thomas Daly
 
Putting personas to work - University of Edinburgh Website Programme
Putting personas to work - University of Edinburgh Website ProgrammePutting personas to work - University of Edinburgh Website Programme
Putting personas to work - University of Edinburgh Website Programme
Neil Allison
 
Making personas work
Making personas workMaking personas work
Making personas work
Bruce Darby
 
Designing in the Browser - Mason Wendell, Drupaldelphia
Designing in the Browser - Mason Wendell, DrupaldelphiaDesigning in the Browser - Mason Wendell, Drupaldelphia
Designing in the Browser - Mason Wendell, Drupaldelphia
canarymason
 
SEO Do's and Dont's - Search in 2018
SEO Do's and Dont's - Search in 2018SEO Do's and Dont's - Search in 2018
SEO Do's and Dont's - Search in 2018
Linus Logren
 
Drupal: Northeastern University Libraries website
Drupal: Northeastern University Libraries websiteDrupal: Northeastern University Libraries website
Drupal: Northeastern University Libraries website
iFactory
 
Wp 3hr-course
Wp 3hr-courseWp 3hr-course
Wp 3hr-course
Rich Webster
 
Good bad ugly_presentation
Good bad ugly_presentationGood bad ugly_presentation
Good bad ugly_presentation
D'arce Hess
 
CMS Crash Course!
CMS Crash Course!CMS Crash Course!
CMS Crash Course!
TechSoup Canada
 
Jumpstart Your Web App
Jumpstart Your Web AppJumpstart Your Web App
Jumpstart Your Web App
Harvard Web Working Group
 
The web standards gentleman: a matter of (evolving) standards)
The web standards gentleman: a matter of (evolving) standards)The web standards gentleman: a matter of (evolving) standards)
The web standards gentleman: a matter of (evolving) standards)
Chris Mills
 
Mul-ti-site!
Mul-ti-site!Mul-ti-site!
Mul-ti-site!
Denise (Dee) Teal
 
Website design to secure business or Yes – I’ve got a website! (but is it a...
Website design to secure business or Yes – I’ve got a website! (but is it a...Website design to secure business or Yes – I’ve got a website! (but is it a...
Website design to secure business or Yes – I’ve got a website! (but is it a...
David Terrar
 
SPS Monaco 2017 - The Lay of the Land of Client-Side Development circa 2017
SPS Monaco 2017 - The Lay of the Land of Client-Side Development circa 2017SPS Monaco 2017 - The Lay of the Land of Client-Side Development circa 2017
SPS Monaco 2017 - The Lay of the Land of Client-Side Development circa 2017
Marc D Anderson
 
Design Like a Pro: Building Better HMI Navigation Schemes
Design Like a Pro: Building Better HMI Navigation SchemesDesign Like a Pro: Building Better HMI Navigation Schemes
Design Like a Pro: Building Better HMI Navigation Schemes
Inductive Automation
 
Design Like a Pro: Building Better HMI Navigation Schemes
Design Like a Pro: Building Better HMI Navigation SchemesDesign Like a Pro: Building Better HMI Navigation Schemes
Design Like a Pro: Building Better HMI Navigation Schemes
Inductive Automation
 
UX design for every screen
UX design for every screenUX design for every screen
UX design for every screen
Four Kitchens
 
Optimizing The WordPress Admin For Users
Optimizing The WordPress Admin For UsersOptimizing The WordPress Admin For Users
Optimizing The WordPress Admin For Users
👩🏻‍💻 Cristina Robinson (She/Her)
 
Pearls and Must-Have Tools for the Modern Web / .NET Developer
Pearls and Must-Have Tools for the Modern Web / .NET DeveloperPearls and Must-Have Tools for the Modern Web / .NET Developer
Pearls and Must-Have Tools for the Modern Web / .NET Developer
Ofer Zelig
 

Similar to Advice for New WordPress Developers (20)

Better User Experience for WordPress Sites
Better User Experience for WordPress SitesBetter User Experience for WordPress Sites
Better User Experience for WordPress Sites
 
What Makes SharePoint UX Good?
What Makes SharePoint UX Good?What Makes SharePoint UX Good?
What Makes SharePoint UX Good?
 
Putting personas to work - University of Edinburgh Website Programme
Putting personas to work - University of Edinburgh Website ProgrammePutting personas to work - University of Edinburgh Website Programme
Putting personas to work - University of Edinburgh Website Programme
 
Making personas work
Making personas workMaking personas work
Making personas work
 
Designing in the Browser - Mason Wendell, Drupaldelphia
Designing in the Browser - Mason Wendell, DrupaldelphiaDesigning in the Browser - Mason Wendell, Drupaldelphia
Designing in the Browser - Mason Wendell, Drupaldelphia
 
SEO Do's and Dont's - Search in 2018
SEO Do's and Dont's - Search in 2018SEO Do's and Dont's - Search in 2018
SEO Do's and Dont's - Search in 2018
 
Drupal: Northeastern University Libraries website
Drupal: Northeastern University Libraries websiteDrupal: Northeastern University Libraries website
Drupal: Northeastern University Libraries website
 
Wp 3hr-course
Wp 3hr-courseWp 3hr-course
Wp 3hr-course
 
Good bad ugly_presentation
Good bad ugly_presentationGood bad ugly_presentation
Good bad ugly_presentation
 
CMS Crash Course!
CMS Crash Course!CMS Crash Course!
CMS Crash Course!
 
Jumpstart Your Web App
Jumpstart Your Web AppJumpstart Your Web App
Jumpstart Your Web App
 
The web standards gentleman: a matter of (evolving) standards)
The web standards gentleman: a matter of (evolving) standards)The web standards gentleman: a matter of (evolving) standards)
The web standards gentleman: a matter of (evolving) standards)
 
Mul-ti-site!
Mul-ti-site!Mul-ti-site!
Mul-ti-site!
 
Website design to secure business or Yes – I’ve got a website! (but is it a...
Website design to secure business or Yes – I’ve got a website! (but is it a...Website design to secure business or Yes – I’ve got a website! (but is it a...
Website design to secure business or Yes – I’ve got a website! (but is it a...
 
SPS Monaco 2017 - The Lay of the Land of Client-Side Development circa 2017
SPS Monaco 2017 - The Lay of the Land of Client-Side Development circa 2017SPS Monaco 2017 - The Lay of the Land of Client-Side Development circa 2017
SPS Monaco 2017 - The Lay of the Land of Client-Side Development circa 2017
 
Design Like a Pro: Building Better HMI Navigation Schemes
Design Like a Pro: Building Better HMI Navigation SchemesDesign Like a Pro: Building Better HMI Navigation Schemes
Design Like a Pro: Building Better HMI Navigation Schemes
 
Design Like a Pro: Building Better HMI Navigation Schemes
Design Like a Pro: Building Better HMI Navigation SchemesDesign Like a Pro: Building Better HMI Navigation Schemes
Design Like a Pro: Building Better HMI Navigation Schemes
 
UX design for every screen
UX design for every screenUX design for every screen
UX design for every screen
 
Optimizing The WordPress Admin For Users
Optimizing The WordPress Admin For UsersOptimizing The WordPress Admin For Users
Optimizing The WordPress Admin For Users
 
Pearls and Must-Have Tools for the Modern Web / .NET Developer
Pearls and Must-Have Tools for the Modern Web / .NET DeveloperPearls and Must-Have Tools for the Modern Web / .NET Developer
Pearls and Must-Have Tools for the Modern Web / .NET Developer
 

Recently uploaded

UiPath Test Automation using UiPath Test Suite series, part 6
UiPath Test Automation using UiPath Test Suite series, part 6UiPath Test Automation using UiPath Test Suite series, part 6
UiPath Test Automation using UiPath Test Suite series, part 6
DianaGray10
 
Introduction to CHERI technology - Cybersecurity
Introduction to CHERI technology - CybersecurityIntroduction to CHERI technology - Cybersecurity
Introduction to CHERI technology - Cybersecurity
mikeeftimakis1
 
Microsoft - Power Platform_G.Aspiotis.pdf
Microsoft - Power Platform_G.Aspiotis.pdfMicrosoft - Power Platform_G.Aspiotis.pdf
Microsoft - Power Platform_G.Aspiotis.pdf
Uni Systems S.M.S.A.
 
20240605 QFM017 Machine Intelligence Reading List May 2024
20240605 QFM017 Machine Intelligence Reading List May 202420240605 QFM017 Machine Intelligence Reading List May 2024
20240605 QFM017 Machine Intelligence Reading List May 2024
Matthew Sinclair
 
GraphRAG for Life Science to increase LLM accuracy
GraphRAG for Life Science to increase LLM accuracyGraphRAG for Life Science to increase LLM accuracy
GraphRAG for Life Science to increase LLM accuracy
Tomaz Bratanic
 
Essentials of Automations: The Art of Triggers and Actions in FME
Essentials of Automations: The Art of Triggers and Actions in FMEEssentials of Automations: The Art of Triggers and Actions in FME
Essentials of Automations: The Art of Triggers and Actions in FME
Safe Software
 
20240607 QFM018 Elixir Reading List May 2024
20240607 QFM018 Elixir Reading List May 202420240607 QFM018 Elixir Reading List May 2024
20240607 QFM018 Elixir Reading List May 2024
Matthew Sinclair
 
Mind map of terminologies used in context of Generative AI
Mind map of terminologies used in context of Generative AIMind map of terminologies used in context of Generative AI
Mind map of terminologies used in context of Generative AI
Kumud Singh
 
20240609 QFM020 Irresponsible AI Reading List May 2024
20240609 QFM020 Irresponsible AI Reading List May 202420240609 QFM020 Irresponsible AI Reading List May 2024
20240609 QFM020 Irresponsible AI Reading List May 2024
Matthew Sinclair
 
Presentation of the OECD Artificial Intelligence Review of Germany
Presentation of the OECD Artificial Intelligence Review of GermanyPresentation of the OECD Artificial Intelligence Review of Germany
Presentation of the OECD Artificial Intelligence Review of Germany
innovationoecd
 
Removing Uninteresting Bytes in Software Fuzzing
Removing Uninteresting Bytes in Software FuzzingRemoving Uninteresting Bytes in Software Fuzzing
Removing Uninteresting Bytes in Software Fuzzing
Aftab Hussain
 
Communications Mining Series - Zero to Hero - Session 1
Communications Mining Series - Zero to Hero - Session 1Communications Mining Series - Zero to Hero - Session 1
Communications Mining Series - Zero to Hero - Session 1
DianaGray10
 
GraphSummit Singapore | Enhancing Changi Airport Group's Passenger Experience...
GraphSummit Singapore | Enhancing Changi Airport Group's Passenger Experience...GraphSummit Singapore | Enhancing Changi Airport Group's Passenger Experience...
GraphSummit Singapore | Enhancing Changi Airport Group's Passenger Experience...
Neo4j
 
National Security Agency - NSA mobile device best practices
National Security Agency - NSA mobile device best practicesNational Security Agency - NSA mobile device best practices
National Security Agency - NSA mobile device best practices
Quotidiano Piemontese
 
GraphSummit Singapore | Graphing Success: Revolutionising Organisational Stru...
GraphSummit Singapore | Graphing Success: Revolutionising Organisational Stru...GraphSummit Singapore | Graphing Success: Revolutionising Organisational Stru...
GraphSummit Singapore | Graphing Success: Revolutionising Organisational Stru...
Neo4j
 
Observability Concepts EVERY Developer Should Know -- DeveloperWeek Europe.pdf
Observability Concepts EVERY Developer Should Know -- DeveloperWeek Europe.pdfObservability Concepts EVERY Developer Should Know -- DeveloperWeek Europe.pdf
Observability Concepts EVERY Developer Should Know -- DeveloperWeek Europe.pdf
Paige Cruz
 
Best 20 SEO Techniques To Improve Website Visibility In SERP
Best 20 SEO Techniques To Improve Website Visibility In SERPBest 20 SEO Techniques To Improve Website Visibility In SERP
Best 20 SEO Techniques To Improve Website Visibility In SERP
Pixlogix Infotech
 
Building Production Ready Search Pipelines with Spark and Milvus
Building Production Ready Search Pipelines with Spark and MilvusBuilding Production Ready Search Pipelines with Spark and Milvus
Building Production Ready Search Pipelines with Spark and Milvus
Zilliz
 
TrustArc Webinar - 2024 Global Privacy Survey
TrustArc Webinar - 2024 Global Privacy SurveyTrustArc Webinar - 2024 Global Privacy Survey
TrustArc Webinar - 2024 Global Privacy Survey
TrustArc
 
Artificial Intelligence for XMLDevelopment
Artificial Intelligence for XMLDevelopmentArtificial Intelligence for XMLDevelopment
Artificial Intelligence for XMLDevelopment
Octavian Nadolu
 

Recently uploaded (20)

UiPath Test Automation using UiPath Test Suite series, part 6
UiPath Test Automation using UiPath Test Suite series, part 6UiPath Test Automation using UiPath Test Suite series, part 6
UiPath Test Automation using UiPath Test Suite series, part 6
 
Introduction to CHERI technology - Cybersecurity
Introduction to CHERI technology - CybersecurityIntroduction to CHERI technology - Cybersecurity
Introduction to CHERI technology - Cybersecurity
 
Microsoft - Power Platform_G.Aspiotis.pdf
Microsoft - Power Platform_G.Aspiotis.pdfMicrosoft - Power Platform_G.Aspiotis.pdf
Microsoft - Power Platform_G.Aspiotis.pdf
 
20240605 QFM017 Machine Intelligence Reading List May 2024
20240605 QFM017 Machine Intelligence Reading List May 202420240605 QFM017 Machine Intelligence Reading List May 2024
20240605 QFM017 Machine Intelligence Reading List May 2024
 
GraphRAG for Life Science to increase LLM accuracy
GraphRAG for Life Science to increase LLM accuracyGraphRAG for Life Science to increase LLM accuracy
GraphRAG for Life Science to increase LLM accuracy
 
Essentials of Automations: The Art of Triggers and Actions in FME
Essentials of Automations: The Art of Triggers and Actions in FMEEssentials of Automations: The Art of Triggers and Actions in FME
Essentials of Automations: The Art of Triggers and Actions in FME
 
20240607 QFM018 Elixir Reading List May 2024
20240607 QFM018 Elixir Reading List May 202420240607 QFM018 Elixir Reading List May 2024
20240607 QFM018 Elixir Reading List May 2024
 
Mind map of terminologies used in context of Generative AI
Mind map of terminologies used in context of Generative AIMind map of terminologies used in context of Generative AI
Mind map of terminologies used in context of Generative AI
 
20240609 QFM020 Irresponsible AI Reading List May 2024
20240609 QFM020 Irresponsible AI Reading List May 202420240609 QFM020 Irresponsible AI Reading List May 2024
20240609 QFM020 Irresponsible AI Reading List May 2024
 
Presentation of the OECD Artificial Intelligence Review of Germany
Presentation of the OECD Artificial Intelligence Review of GermanyPresentation of the OECD Artificial Intelligence Review of Germany
Presentation of the OECD Artificial Intelligence Review of Germany
 
Removing Uninteresting Bytes in Software Fuzzing
Removing Uninteresting Bytes in Software FuzzingRemoving Uninteresting Bytes in Software Fuzzing
Removing Uninteresting Bytes in Software Fuzzing
 
Communications Mining Series - Zero to Hero - Session 1
Communications Mining Series - Zero to Hero - Session 1Communications Mining Series - Zero to Hero - Session 1
Communications Mining Series - Zero to Hero - Session 1
 
GraphSummit Singapore | Enhancing Changi Airport Group's Passenger Experience...
GraphSummit Singapore | Enhancing Changi Airport Group's Passenger Experience...GraphSummit Singapore | Enhancing Changi Airport Group's Passenger Experience...
GraphSummit Singapore | Enhancing Changi Airport Group's Passenger Experience...
 
National Security Agency - NSA mobile device best practices
National Security Agency - NSA mobile device best practicesNational Security Agency - NSA mobile device best practices
National Security Agency - NSA mobile device best practices
 
GraphSummit Singapore | Graphing Success: Revolutionising Organisational Stru...
GraphSummit Singapore | Graphing Success: Revolutionising Organisational Stru...GraphSummit Singapore | Graphing Success: Revolutionising Organisational Stru...
GraphSummit Singapore | Graphing Success: Revolutionising Organisational Stru...
 
Observability Concepts EVERY Developer Should Know -- DeveloperWeek Europe.pdf
Observability Concepts EVERY Developer Should Know -- DeveloperWeek Europe.pdfObservability Concepts EVERY Developer Should Know -- DeveloperWeek Europe.pdf
Observability Concepts EVERY Developer Should Know -- DeveloperWeek Europe.pdf
 
Best 20 SEO Techniques To Improve Website Visibility In SERP
Best 20 SEO Techniques To Improve Website Visibility In SERPBest 20 SEO Techniques To Improve Website Visibility In SERP
Best 20 SEO Techniques To Improve Website Visibility In SERP
 
Building Production Ready Search Pipelines with Spark and Milvus
Building Production Ready Search Pipelines with Spark and MilvusBuilding Production Ready Search Pipelines with Spark and Milvus
Building Production Ready Search Pipelines with Spark and Milvus
 
TrustArc Webinar - 2024 Global Privacy Survey
TrustArc Webinar - 2024 Global Privacy SurveyTrustArc Webinar - 2024 Global Privacy Survey
TrustArc Webinar - 2024 Global Privacy Survey
 
Artificial Intelligence for XMLDevelopment
Artificial Intelligence for XMLDevelopmentArtificial Intelligence for XMLDevelopment
Artificial Intelligence for XMLDevelopment
 

Advice for New WordPress Developers

Editor's Notes

  1. First of all, you’re probably asking …
  2. Because unless you’re active in the Philly WordPress community you’ve probably never heard of me. I’m not the author of a popular plugin, I haven’t written any books on development, and if you check out my Twitter account you’re going to find more about my theater activities than insights into WordPress development.
  3. So, here’s what you need to know: I recently wrapped up eight years as a one-person “Department of WordPress” at a major university, where I administered several multisites, developed the operational strategies for the bulk of the campus web presence and functioned as a research and development unit. Besides building several custom themes and a couple dozen plugins of my own, I downloaded and tested literally hundreds of plugins from the WordPress repository to figure out which ones suited our needs and played well with others— to the point that I built a database to keep track of which plugins I’d tested, what version it was, their intended use and what I learned about them. So, the advice I’m offering here is not from the standpoint of a WordPress expert of any kind. It is the insights of a potential user of your work who has also been where you are as a developer. I’ll focus mostly on the non-code aspects of development. I’ll be talking mostly about plugins, but the advice applies to theme development as well.
  4. We’ll start with one of the toughest challenges for new developers: keep it simple. Maybe you’re at the point where you just created your first plugin or theme. And it works! And you’re excited, and a whole new world of possibilities has opened up, and you want to do them all. You’re already picturing all the different features and settings you want to add.
  5. Before you do that … don’t. Identify clearly what you are trying to accomplish. If it’s a package of several things, then map out a plan and introduce a little at a time.
  6. One useful way to think of your plugin or theme is as a section of a quilt that includes WordPress core and everything else that’s installed. For a site administrator, the goal is to neatly assemble these pieces that will produce the exact size and design of quilt that they want, neatly fitted together without gaps, extra pieces or bunches in the cloth.
  7. You want your plugin or theme to be able to provide this piece, or a section of closely related pieces, to the whole. If you try to fit the whole quilt into your plugin, or you try to provide disconnected pieces, you risk making your product *less* rather than *more* helpful to users. I ran into a specific example a couple of years ago selecting a new plugin that could hide or show widgets on different pages. The plugin I preferred was great, but: it also assigned a custom capability to manage user access to widgets. Which, in itself, is also great, but if you’re on multisite and have 250 sites to contend with and hundreds of users whose access you then need to update, this is not a small addition. It would have been better if these two seemingly related things — they’re both about widgets, right? — had been in different plugins.
  8. I’ll give you another example from a few years back when the Exclude Pages plugin aged out. The plugin added a checkbox in a page meta box that would let you keep a page out of menus and page lists. There was no alternative in the repository at the time, so I wrote my own version. My plan was to release it to the repo, but I also wanted to add more checkboxes allowing a content provider the ability to hide the page from the Relevanssi plugin’s search results and also from the XML sitemap plugin that we were were using. This combination was very specific to our setup. So what I decided to do is build this functionality as two separate plugins. The Exclude Pages Relaunched plugin contains a hook that enables you to add other checkboxes or options to its meta box. The Exclude More plugin hooks into Exclude Pages Relaunched to add those extra very specific checkboxes, along with the related validation and options handling.
  9. But … keeping it simple doesn’t mean skipping over the less interesting parts of your work. You can get so wrapped up in plugin functionality or theme design that you overlook the elements that will make your product better. Do the secondary parts well, too.
  10. This is a partial list of details that may escape designers and developers but be essential to admins. If you’re developing for a closed environment, your situation may be different. For instance, because my in-house development was solely for English and we were understaffed, I never bothered with translations or right-to-left layouts. For some some things, such as a robots.txt plugin I wrote for multisite, I skipped building an admin interface entirely because we didn’t want anyone but myself and the sysadmin configuring robots.txt. The important thing is that this a choice appropriate to the context, not an oversight. I’d add that the lack of accessibility compliance is becoming more and more of a dealbreaker for potential users of your work. If you’re creating something that might be useful to education or government in particular, you need to ensure any interface is accessibility compliant.
  11. There are two things I’m going to point out separately. The first is that in the root of your theme or plugin directory, and in every subdirectory, you should include a blank index file if you don’t already have one. So, why is this important? Over the past few weeks I’ve been helping a friend redesign her site for young children’s dance and storytelling classes. One of the steps was to ensure she was set up on Google Analytics and Search Console. For several years she’d been using a nice theme called Hipster, which Google had been crawling.
  12. When I checked Search Console, you know what her site was coming up for? Hipster images. Nineteen of the top two dozen search terms related to her site were about hipsters. In my friend’s case I moved her to a theme that contained index files, and six weeks later Search Console was showing a major improvement in the relevance of the search terms to her site. Google has become as intrusive as bad bots when it comes to crawling parts of your site that are not public content. And apart from serving up a site for search terms that have nothing to do with the content, Search Console is flagging templates and other elements as bad pages. I’m still having trouble with a map plugin’s templates files being flagged for not including viewport information — which they shouldn’t.
  13. The other thing I want to talk about is the uninstall.php file. Please clean up after yourself. If you add anything to the database, or files that live outside your plugin directory, and these have no use when your plugin is not installed, at least give the site owner the ability to clean those out as part of the uninstall process. When I write a plugin for public use, I add an uninstall.php file even when there’s nothing to install, I include the comment “nothing to uninstall” so that someone checking my work knows what to expect.
  14. Speaking of uninstall, that leads us to the one special use case you may want to consider in plugin development because it’s part of WordPress core. That’s multisite. Unless you include code to loop through every site to perform cleanup, the uninstall file will only clean up the root site and leave entries behind on all the others. This is also an issue on activation. If you network-activate a plugin and any setup routine in your plugin does not loop through all the sites, the setup will be performed on only one site. You may think that multisite isn’t all that common and not worth bothering with, but consider: a single install may represent five sites, or it may be a hundred. Or 10,000. One bad uninstall may mean extra cleanup for 9,999 sites. Multisite is enormously helpful in environments such as universities, and not developing for it is potentially missing an opportunity. By the way, I’ve learned that by developing a plugin or theme for for multisite first and then testing it on a single install, I work more efficiently than I would by doing the reverse.
  15. Finally: be kind to your users — which covers a lot more than being polite and helpful on the support forums.
  16. This is another partial list of details to consider that are specific to the back end. Earlier I used the idea of a quilt to describe how the pieces of a site fit together. The admin interface is the other side of the quilt, and it’s equally important. For those of us who need to deliver an easy-to-maintain site to a client, or provide managed hosting on multisite, the goal is to make a lot of disparate pieces blend into a whole, and the things you do to make your product stand out make our jobs significantly harder. You added submenus to promote your add ons? I have to remove them. That admin notice that can be dismissed with a click? On a large multisite, that’s 10,000 clicks, and so I either have to write scripts to close them or add a custom admin stylesheet to hide these things. Plus: you’re promoting your products to the wrong people. They don’t select the themes and plugins. Similarly, if you have a plugin that requires a click to migrate or apply changes after an update — which does sometimes happen — that’s not just one click for a lot of us.
  17. When I first wrote about some of these things three years ago, the common thread was the need for good UX and the related issue of managing user expectations.
  18. Lately, though, it’s become about something else. I’m not here to talk about ethics because that’s not my area of expertise, but I will tell you a story. About six weeks ago I was looking — and not finding — the documentation for a certain plugin. I eventually found a post in which the developers were directing users to get it from their YouTube videos. In short, they were providing documentation in an inaccessible and non-searchable format to drive up their numbers. Unethical? It’s a gray area. But what’s certain is that it’s self-serving and inconsiderate of their users.