In his first-ever blog post for WebDevStudios, Backend Engineer, Evan Hildreth, tells us what's exciting about oEmbed and shares a fix he learned during Five for the Future.
The story of my blogging career over the past few years could be summed up as, “How I Learned to Stop Worrying and Love the Reblog.” There’s something that’s so much fun about finding something cool and sharing it on my blog without worrying about saying something poignant or ultimately meaningless in an effort to “add to the conversation.” Sometimes it’s enough just to amplify the conversation, or share that video. This is why I’m so excited about oEmbed. It’s a standard API that takes a given link and turns it into an embeddable… thing. It’s most commonly known as “that thing that turns a YouTube link into a video,” but the underlying technology can be used for any web page. This includes sites like Reddit, Twitter, and Imgur, as well as blogging sites like Tumblr and, yes, WordPress.
WordPress has built-in support for oEmbed, both as a consumer and a provider. This means that not only can you embed other posts into your WordPress post, but other people can embed your posts into their posts!
WordPress already has built-in support for several sites. If you want to branch out of those, it’s a simple
STOP! Before you launch a website, conduct cross browser compatibility testing to ensure it looks and operates correctly on all major browsers.
The Scenario It’s the Friday before a major holiday and an urgent email hits your inbox. Your client, who has been a dream to work with over the past few months, has a problem.
Two seconds ago you were thinking about kicking your feet back and relaxing, but now your adrenaline is surging. The CEO (who has never been mentioned before now) is finally taking a look at the new site you’ve developed, and the menu is “completely broken.”
Did you actually think the corporate executives were going to look at the new site with a Mac? A dizzying array of questions zip through your mind. “How could this happen? I checked the site on all of the major browsers!” you say to yourself as the world around you spirals.
After some deep breathing exercises and a bit of inquiry, it becomes apparent that the browser in question is Microsoft Edge on Windows 10. To make matters worse, the site wasn’t actually tested on any browsers beyond the boundaries of your Mac devices. You’ve been loyal to Apple for as long as you can remember, but that won’t help now.
Although this story is anecdotal, it’s based on real events that happen to developers every
Why that theme you just purchased can't possibly cover every need and the additional effort required to truly customize it.
The temptation to download a free or commercial WordPress theme is great for both pros and novices who want to build their own website. And it’s easy to see why. A feature-packed theme can, in theory, provide your project with a great head start. Faster development means you’re up and running in less time and having spent a fraction of the cash. And modern themes offer all sorts of possibilities when it comes to customization. For instance, many offer page builders, header/footer tools and tons of premade layouts. Still, that’s not always enough for a site with specific needs.
This is where a Pandora’s Box worth of hidden costs (of both time and money) can arise. It takes a lot of us by surprise.
So, before you head off and commit to a theme, take a moment to read this article. We’ll introduce you to the potential complications that come with the territory, along with some other items to keep in mind. It might just save you a headache or two!
The WordPress Toolbox
Unlimited Downloads: 500,000+ WordPress Themes, Plugins, Templates & Design Assets
Don’t Believe the Hype
It’s easy to browse through a WordPress theme and conclude that it’s
What do you know about AMP? Here, Director of Engineering at WebDevStudios, Greg Rickaby, explains how AMP can give your WordPress the boost it needs.
If you’re like me, then you’ve heard of the AMP Project. It was announced by Google about four years ago as a way to improve mobile performance on the web. You may have even installed the AMP for WordPress plugin and then possibly, like me, forgot all about it. Well, a lot has changed with AMP since 2015, which inspired me to write this blog post to bring you up to speed on what’s new and possibly debunk a few myths.
What is AMP?
If you haven’t heard of AMP, it’s an open-source web component framework for websites, stories, ads, and emails. The mission is to:
Provide a user-first format for web content, supporting the long-term success of every web publisher, merchant, and advertiser.
In short, AMP is an HTML Framework, which helps pages load faster and look better than standard HTML pages.
When the AMP Project was announced in October 2015, the name was originally an acronym for “accelerated mobile pages.” Fast forward four years, and AMP isn’t just for mobile devices anymore. It has a vibrant ecosystem, an active development community, works on tablets and desktops with native support for responsive design. In 2018, the AMP Project moved
PHP 7.4 is scheduled to be released on November 21, 2019. It’s the next PHP 7 minor release and should significantly boost performance and increase code readability.
PHP 7.4, the next PHP 7 minor release, is expected to be released to the General Availability on November 21st, 2019. So it’s time for us to dive into some of the most exciting additions and new features that will make PHP faster and more reliable. Actually, even if PHP 7.4 should significantly boost performance and increase code readability, PHP 8 will be the real milestone for PHP performance, as the proposal for JIT inclusion has already been approved.
Anyway, today we’re going through some of the most interesting features and changes we’re expecting with PHP 7.4. So, before you read over this post, make sure to save the following dates:
June 6th: PHP 7.4 Alpha 1
July 18th: PHP 7.4 Beta 1 – Feature freeze
November 21st: PHP 7.4 GA Release
You can check out the full list of features and additions on the official RFC page.
PHP 7.4 Release Date:
PHP 7.4 is scheduled to be released on November 21, 2019. It’s the next PHP 7 minor release and should significantly boost performance and increase code readability.
What’s New in PHP with PHP 7.4?
In this post we’re covering several changes and features that should be added to the language with the
Some privacy-related items to consider when building your site, including the data collected by third-parties.
In recent years, privacy has become one of the most important topics in our society. With the rise of services that use and sell user data, serious discussions have been taking place regarding best practices and the rights of users. In some cases, they’ve led to government-based regulations such as the EU’s GDPR. However, worldwide there still seems to be quite a lot of confusion, which tends to result in inaction. Unfortunately, web designers seem to be caught in the middle.
What makes things even more difficult is how much we rely on third-party providers that enable all manner of different functionality. Each provider is another link in a privacy chain that may or may not be collecting/using data in an undesirable way.
Nowhere is this more of a challenge than when it comes to building sites with WordPress. That’s not because the CMS doesn’t take privacy seriously – it does. Rather, it’s a combination of being the web’s most-used platform and its ability to tie in with an untold number of services via plugins and themes.
That begs the question: How do we build WordPress websites with privacy in mind?
The WordPress Toolbox
Over the last few years of supporting our products at Delicious Brains (notably WP Offload Media and most recently, SpinupWP), one thing has become clear. Caching in WordPress is often misunderstood. In this post, Ash hopes to demystify some of those misconceptions and provide a little clarity on the minefield that is WordPress caching.
Over the last few years of supporting our products at Delicious Brains (notably WP Offload Media and most recently, SpinupWP), one thing has become clear: Caching in WordPress is often misunderstood (and sites run slower than they should as a result).
In this post, I hope to demystify some of those misconceptions and provide a little clarity on the minefield that is WordPress caching. Hopefully, by the end of this post, you’ll have a better understanding of how the various layers of caching play a role in turbocharging WordPress.
Why is Caching Important?
Before we dive into the various caching mechanisms, it’s essential to understand the benefits of caching. Caching plays two major roles:
It improves application performance. For WordPress sites, this means that your site loads faster.
It increases application throughput. Meaning, your site can handle more traffic.
What’s more, caching can increase both application performance and throughput without increasing hosting costs. This is because you need far less system resources (CPU & memory) to host a site that has been correctly cached. It really is a win-win strategy (when done correctly).
It's very exciting to have the very developer-friendly and Elementor-focused Hello theme in the WordPress repository now. So much easier for users now.
Many of you already know, love and use Elementor’s Hello theme, but this week, our starter theme was officially added to the WordPress repository, so we figured our baby deserves a formal baby shower.
After writing about how AMP is more than just mobile pages, WebDevStudios Director of Engineering, Greg Rickaby, goes in depth with the official AMP for WordPress plugin, explaining how to use it and its benefits.
In my last blog post, I filled you in on what’s new with the AMP Project and why I think it’s worth a second look. Today, I want to go in depth with the official AMP for WordPress plugin. Real Quick, What Is AMP?
AMP is an open-source project whose mission is to make the web better for all. AMP enables web experiences that are consistently fast, beautiful, and high-performing across distribution platforms.
AMP’s strength isn’t just that pages are fast but pages are fast in a way that can be validated. The official AMP for WordPress plugin supports fully integrated AMP publishing for WordPress sites with robust capabilities and granular publisher controls. Consider reading my previous post since it covers some of the lingo.
A Brief Timeline
The Official AMP for WordPress plugin has come a (really) long way from its humble beginnings where it primarily “AMPlified” WordPress blog posts. When the plugin was first introduced, the AMP project itself was in its infancy. AMP versions of blog posts were stripped down using generic templates because AMP did not have the ability to replicate all the experiences the user has on their active theme. Fast forward
Updating a plugin can quickly become a nightmare for both the users and developers. Discover how we proceeded to make a smooth transition from Weglot v1 to v2.
Why did we need a new version? Before explaining how we proceeded with a new version, it’s important to understand “why” we had to make a new version of Weglot. The main reasons were to improve the “adaptability” of our plugin and to reduce our technical debt.
An increasingly long and difficult support
The first version of Weglot did not contain any WordPress filters or actions: the so-called hooks. It was thus very difficult to change the default behavior of our plugin and adapt it to specific customer needs. We had to provide custom patches to our customers while taking into account the changes for our next updates. It was quite tedious and delicate. The more customers we had, the longer the technical support was. Of course, we could have simply added some filters and actions as we went along, but we were faced with other problems.
A growing technical debt
Here is the quality score of the Weglot WordPress plugin code at the time of the last update of version 1 (v1.13.1): 6.53 / 10
Generally speaking, we can’t say that it’s a terrible score but it’s clearly not great either. The mediocre score was partly due to some of the dependencies
Jeff Matson has come up with a solution that can serve as an example of how to use WordPress as a backend for a site built with Gatsby.
There’s no doubt that WordPress has become as big as it has because of how easy it is to manage content. Due to the multitude of changes that can be made from within the WordPress admin, it empowers users to make changes without any technical knowledge. With that ease of use comes a bit more complexity and limitations for developers. While WordPress alone is a great solution for many sites, it’s still subject to various nuances and additional server-side processing that might not be ideal for others.
Leveraging WordPress’ Strengths
Since WordPress’ most significant strength is its user-friendliness when managing content, how can developers leverage the benefits while still utilizing a solution that works best for them? By using WordPress as a headless source for their frontend, of course!
For example, a frontend developed with Gatsby can use WordPress as a source for its posts, pages, categories, and even comments! From the user’s perspective, everything looks and feels like WordPress, but the frontend can be statically generated to take advantage of substantial performance increases and lower hosting costs.
Our Solution: WordPress + Gatsby
As a supporter
This week our new product designer Lewis sheds light on Scalable Vector Graphics, why you should be using them and some great resources about them.
Hi there. We haven’t met before. I’ve been working as the team’s first product designer for a few weeks now and thought that now that my hazing has been completed, I’m ready to write for the blog. Or maybe this is part of it? (Kidding, of course.)
I’ve been working behind the scenes on our existing products, giving some TLC to some and improving the user experience of others. I can’t say much more than that really, but exciting things are coming!
For my first post, I thought I’d shed some light on one of my favorite things to happen to the design and developer community in recent years, the adoption of SVGs.
I’ll be taking a look at what SVGs are and why you should start using them, and how to get started even if you’re not a designer yourself.
What is SVG?
Let’s get technical for a second. SVG stands for “Scalable Vector Graphics” and is an XML based, vector image format.
SVGs are predominantly found on the web, and while they have similar uses to JPEG, PNG and WebP image types, their DNA is extremely different.
So why are they different?
Well, traditional image types like JPEG, PNG and GIF are bitmap-based, meaning
When building a #WordPress theme in 2019, there are certain things to consider. Learn what's required, what's new, and some ways to clean up WordPress for the frontend and for users.
WebDevStudios (WDS) is working to improve our theme framework wd_s based on Automattic’s _s; although at this point, it’s resemblance is only vaguely similar. WDS is dedicated to keeping up to date with the web development industry and making educated decisions about which new things to pursue and which to ignore (for now). In my private time, I’ve been building a starter theme from scratch to better educate myself about what is required by WordPress to build a theme-repo-approved theme but also to make my own informed decisions based on what others are doing, how people typically use the internet, and what of WordPress core feels antiquated.
I started writing this blog post to try and build a custom theme from scratch, but that proved too problematic for a few reasons. The time commitment wasn’t small. Any theme I built would require more than just one blog post and there’s a world of information out there to help you on your way already. Also, before any opinionated decisions had been made, the outcome was essentially any other theme out there already. The biggest reasons I thought I’d circle back and rethink this post was because a lot of those
This... this is absolutely the right solution. Hope it happens.
Over the past week, developments which I predicted back in December last year have come to fore, and I am deeply concerned about the effects they will have on WordPress (the application) and the community unless we take decisive action. Short version: For various reasons, many WordPress users will be faced with a complex dilemma when 5.0 and Gutenberg comes out:
a) Get the latest version of WordPress and risk compatibility issues / costly retraining, redesign, or entire rebuilds, and/or other problems, or b) choose not to upgrade and end up running an old and eventually insecure version of the content management system.
So far, the response from WordPress leadership has been to install the “Classic Editor” plugin which as the name suggests reintroduces the classic WYSIWYG editor once the Gutenberg Block Editor becomes the default. This is, in my opinion, a dangerous road to go down both for the end-user and WordPress itself.
Classic Editor as a permanent solution won’t work
Classic Editor is a bit like using a band-aid to plug a hole in a ballon as you are inflating it. It may work right now, but as the balloon continues to grow, the band-aid not only won’t do
If you work remotely or manage a team of remote workers, these are the tools that we use and/or recommend. Check them out and boost your productivity!
Any job requires planning, organization and communication, but remote work needs all of those things ten-fold. Working remotely comes with its own set of distractions, depending on how and where you work. Distractions might happen in the form of the hustle and bustle from your favorite coffee shop or the attention needed by your pets or young children. In my experience, working from a home office tends to have a series of challenges to overcome day-to-day problems that could prevent me from getting work done, if I wasn’t otherwise prepared to handle it. It’s important to get yourself working in a way that makes sense for you so that you remain organized, working efficiently and well-connected. Here are a set of recommended tools doing just that, while you work remotely. These are, admittedly, the ones we use or that I like best, but I’ll list a few alternatives with each, too.
This recommended tool is probably not a surprise. Communication, in my book, is the most critical aspect of any successful relationship—work or personal—it makes no difference. Slack is an excellent chat-like environment for teams. It permanently removes the needs for email
Using Git is great for version control for your various projects, but sometimes your repositories become bloated. That's where .gitignore comes into place.
Using Git is great for version control for your various projects, but sometimes your repositories become so bloated with testing and development tools that the project becomes difficult to navigate. Not to mention how much more bandwidth is needed to pull and push updates to your code base each time you work on a new feature. Meet .gitignore
Git gives us a great utility to help us control what we want to track using version control and what we don’t want to include. The .gitignore file specifies the files that you do not want to track. This is useful when you use other processes, such as Composer, to add or compile files for your final project that are not necessary to be tracked for changes.
Using the .gitignore file alone to just arbitrarily specify files that you don’t want to track works okay, if you are the only one working in the project. However, when you start including more and more contributors to the project, that file can get out of control without sticking to a standard.
What I have found helpful is to have commented sections to specify specific tools or directories that I don’t want to track in my repository. This keeps my ignore file better organized
We analyzed 13 billion log entries. Here's what we learned about the WordPress hosting industry.
We recently discovered a situation where we were able to find some fun and interesting ways to extend our standard ACF Flexible Content Blocks. Let's dig in and find out what we did!
Here at WebDevStudios, we do quite a bit with Flexible Content Blocks in Advanced Custom Fields (ACF). If you aren’t familiar with the plugin, ACF allows for the creation of a multitude of custom meta field types using a graphical user interface (GUI) in the WordPress Dashboard. You can do almost anything with these fields—from simple text and URL inputs to searching for posts and pages and building image galleries. ACF allows you to power your site with robust customization options, which you can use to create and manage dynamic pages. Instead of being locked into a set of page templates where the functionality and layout are tied directly to the theme’s files, building pages with ACF Flexible Content Blocks puts the power of customization into your hands as a site manager and editor. You can add, remove, and rearrange blocks as needed and have full control over the content within each of those blocks.
Sometimes, though, simply customizing the content within those blocks isn’t enough. Sure, it’s nice enough to be able to edit the title of a block or select a different set of Featured Posts to display. But, what if you don’t want to have to get that
Face 2019 with some new knowledge of your website. Read over these design and development myths and learn what you can do right in the new year.
I’ve written about New Year website prep before and how this is a popular time to give your website a good once-over for the new year. You can read Get Your WordPress Site Ready for the New Year: What to do Now! for some helpful ideas on getting things running smoothly. Every client that I work with has ideas about what their new or existing website needs without really thinking about what it means for their website in the long term. New or potential clients have their own misconceptions around their potential websites as well, so I thought it might be helpful to talk about some design and development myths or misconceptions and address them so you can face 2019 with some new knowledge. Myth: Sliders and Hidden Content Are a Must
Let’s make a resolution right now: no more carousels, sliders, modals or accordions.
Last year Matt wrote a bit about his local development setup on Microsoft Windows. Since then he's changed almost everything in that setup, and thought it’d be good to cover that in this weeks article.
Last year when I wrote about switching to Windows for local WordPress development, I hadn’t anticipated how much I would change in the weeks/months to follow. There were several things I wasn’t happy with in my development environment and general workflow – Local by Flywheel was slow, the command line wasn’t quite up to par with what I was used to, and I just felt that there had to be a better way to do things. In this week’s article, I take a look at some of the changes I’ve made to my Windows development and how they’ve upped my WordPress development game.
What’s Changed in the Last Year?
I originally switched from Mac to Windows because I wasn’t happy with the state of Mac. Macs have always been expensive, but I feel that the quality and bang for your buck has been on a decline in recent years. While they have started improving the quality control issues, for example with the recent improvements to the keyboard on MacBook Pros, they are still very expensive compared to a similarly-equipped Windows machine.
At the same time, Windows has continued making improvements that make life easier for the average developer. Windows Subsystem
Learn about the benefits of Headless WordPress with React and NextJS from a Senior Frontend Developer at WordPress development agency WebDevStudios.
Deadlines are important. But unreasonably tight deadlines that encourage clients and their developers to cut corners and skip steps could be detrimental to the success of your WordPress website. Here's why it's a bad idea to rush your website project.
It’s no secret that website project timelines can sometimes be unreasonable. Clients have many different reasons behind the timeline goals set for projects. It could be anything from the release of a new product, a big marketing campaign, or an event. The target date is almost always important and firm. In managing website design and development projects for over half of my career, I have become very familiar with timelines that clients desire, especially tight timelines. As an agency, we’re always doing our best to hit and exceed client goals, but there are times when it’s a bad idea to rush your website project.
A website design and development project typically takes 12 weeks (or more) from initiation to completion. There are various phases throughout a project life cycle that are critical in ensuring a performant and secure website that delivers what the client is expecting. When you rush a website project to hit a particular goal date, you risk a lot.
Discovery is so important.
Rushing a website project typically means starting the development phase ASAP. This is a huge mistake.
The discovery phase of a project provides time for the Engineering Team to explore
PHP 7.3 is knocking on our door and with it comes new useful features, functionalities, deprecations, and a good number of bug fixes. This release is definitely all about developers!
PHP 7.3 is knocking on our door and with it comes new useful features, functionalities, deprecations, and a good number of bug fixes. This release is all about web developers. The current Beta 2 version was released on August 16, coming perfectly on time with the PHP 7.3 timetable. You can download the current PHP 7.3 version for your development and testing, but keep in mind that, this shouldn’t currently be used in production environments.
In this post, we’ll provide an overview of the features and changes that we personally consider most relevant. But you can always check the full list of features, changes and bug fixes in PHP 7.3 upgrade notes and PHP 7.3 Requests For Comments.
What’s new in PHP with PHP 7.3?
In this post we’re covering the following PHP 7.3 changes:
Flexible Heredoc and Nowdoc Syntaxes
This is probably one of the most relevant improvements coming with PHP 7.3, and we think it deserves a little more attention. So, before diving into PHP 7.3 heredoc/nowdoc changes, we’ll provide a quick overview of this useful core feature. If you are already confident with nowdoc and heredoc, feel free to jump to the PHP 7.3 changes.
An overview of
Database merging is a problem that still exists in WordPress. A lot has happened since we last wrote about it on the blog, so I felt it was a good time to revisit the problem, survey the current landscape and discuss how we deal with it for sites.
Database merging is a problem that still exists in WordPress. It’s a question that gets raised almost every month at the local WordPress meetup I run – “if I am making changes to my local site, what happens to any new changes to the live site if I push my local database back to live?” First #WordPress Meetup in 9 months, first person I speak to, first problem they speak about: database merging
— Iain Poulson (@polevaultweb) June 28, 2018
It’s still a very valid question.
Brad talked about this problem at WordCamp Miami in 2014 and wrote a post about avoiding database merging. We even tried to tackle the problem with our since-retired merging solution Mergebot. But the problem still exists, and what’s a WordPress developer to do about it?
In this post, I’ll revisit the problem, survey the current landscape, and share how we deal with it for our sites.
What is the Problem?
The problem exists for almost any developer working on a local development copy of a site that also has a live version running. The developer makes changes locally; configuring theme settings, adding new pages, Advanced Custom Fields fields, and tweaking plugin options.