Although attending State of the Word in person would be ideal, not all WordPress community members get to enjoy the experience of attending the speech live with friends.
This year, as State of the Word is streamed live for the second time, we want to restore that in person camaraderie through State of the Word watch parties for WordPress Community members around the world.
We encourage WordPress meetup organizers and community members worldwide to (safely) host State of the Word 2021 watch parties —read this handbook to learn more.
Why organize a watch party?
If you are a WordPress meetup organizer, many folks in your meetup may be unaware of the State of the Word, and a watch party could be a great opportunity to introduce or remind them.
As meetup organizers slowly bid goodbye to a tough year, the watch party could be an excellent opportunity to revitalize your group, especially if you haven’t had many events this year.
Along with your Meetup group members, you get a platform to ask questions directly to Matt Mullenweg.
And last but not least, even if you are not a Meetup Organizer, a watch party can be the perfect opportunity to reconnect and have a blast with your WordPress friends!
How do I organize a State of the Word watch party?
You can choose to host a watch party online or in person.
Online
The simplest way to organize an online watch party is to schedule an online event for your WordPress group and add the State of the Word YouTube streaming link directly on Meetup.com. Alternatively, you can schedule an online meeting using tools like Zoom and broadcast the live stream over there by screen sharing––thereby facilitating better engagement.
If your region meets the guidelines for in person events (if vaccines and testing are freely available), you can organize an in person watch party event (for fully vaccinated OR recently tested OR recently recovered folks) for your WordPress Meetup! Group members can hang out together (following local safety guidelines of course) and watch State of the Word live.
If your Local WordPress Meetup is organizing an in person watch party, fill out this form so that we can ship some swag for your group to celebrate! Deadline: November 30, 2021
What else do I need to know about organizing a State of the Word watch party?
Excited? To help you get started, we’ve put together a few resources:
Check out this handbook for detailed instructions on how to organize a watch party, be it online or in person.
We have prepared some email templates that Meetup Organizers can use to spread the word in their Meetup groups.
Don’t forget to share on social media about your watch party events using the hashtag #StateOfTheWord so we can join in on the fun!
NOTE: The guidelines in this post are primarily aimed at WordPress Meetup organizers. However, you do not need to be a Meetup organizer to schedule a watch party! You can simply hang out together with your friends online or in person (while following local safety guidelines) and catch the event live!
If you are planning a watch party for State of the Word, and have questions, please drop us an email to: support@wordcamp.org if you have any questions. We are happy to help you in the best way possible.
Structured data (sometimes called “Schema” or “microdata”) has emerged as an important part of SEO strategy. Search engines are making use of this information to enhance listings and provide users with more immediate answers.
Even if you’re not 100% sure what structured data is, you’ve undoubtedly run across it in Google. For instance, a search for “Fantastic Beasts: The Crimes of Grindelwald” brings up a wealth of information. I can see where the movie is playing, its listing on IMDB, and aggregate reviews. Much of this comes from structured data that is being pulled from multiple websites.
But this goes beyond just finding the latest movie listings. Structured data can help almost any business, from restaurants to pet stores and everything in-between. Helpful info such as business hours, cafe menus and addresses are just a few examples of what can be mined. That’s really just the tip of the iceberg. To get a better sense of the types of data being used, check out Schema.org’s website.
So, how do you get started? In general, structured data requires adding some attributes to your site’s HTML tags. But thanks to some terrific WordPress plugins, we don’t have to do this manually. Instead, the plugins below provide an easy way to add your website to this data powerhouse.
With support for over 500 Schema types and sub-types, WPSSO core can provide structured data in many popular formats. It works with Facebook Open Graph, Google Rich Results/Knowledge Graph, Twitter Cards, oEmbed, Slack – among others.
The plugin will automatically read your site’s content and third-party APIs, then generate the appropriate data. A premium version adds support for WooCommerce, Google Merchant Feed, and several popular WordPress plugins.
Schema will add valid markup to your WordPress website and supports a variety of data types. It’s a great option for publishers, as it will enhance articles, blog posts, multimedia content and author profiles.
Need more? There are free extensions for marking up reviews and setting a default image.
Structured data spans a vast number of categories. But what if you just want to share basic business information? Business Profile will do exactly that, without all the extras you don’t need.
Enter your business name, hours, etc., and the plugin will generate a “Contact Card” widget that you can place anywhere via a shortcode. It’s an easy way to share your business info with search engines. Support for reviews can also be added via a free companion plugin.
For those who really want to micromanage their site, WP SEO Structured Data Schema offers options galore. An options panel will appear on individual pages and posts to let you tweak a plethora of items to your heart’s content.
The available pro version ups the ante by auto-filling page/post data, support for custom post types and more data types.
Though a little light on documentation, Markup (JSON-LD) is a fairly straightforward plugin for adding structured data. Within its settings panel, you can choose from a number of different types of data (Article, Blog Post, Event, Local Business, Site Navigation – among others).
Simply click on the data types you want, enable them and tweak settings. While there isn’t much in the way of plugin-specific info, each data type features some helpful Schema.org/Google links for further information.
With Schema & Structured Data for WP & AMP, you have a comprehensive plugin that is both highly-tweakable and easy to use. For instance, you can conditionally display markup fields based on a number of criteria, such as post type.
It’s also compatible with Google AMP, putting you into the good graces of the search behemoth.
Schema App Structured Data is another great choice if you prefer something that doesn’t require a complicated setup. Once you activate the plugin and fill out a few basic details, all of your pages, posts, categories, and more will be automatically marked up with compliant Schema.
Optionally, you can also display breadcrumb navigation that will further enhance both your site and your SERP listing.
Enjoy the Benefits of Structured Data
Adding structured data markup to your website helps users get the information they need with less hassle. Instead of having to comb through your website to find business hours, they can simply ask Google. This is especially important as voice-based search becomes more prevalent.
Users no longer have to attempt the dangerous combination of typing and driving. Talking to whichever virtual assistant they’re using will provide the answers they’re looking for.
While there are certainly some concerns that users will bypass your site altogether, providing access to this data at least keeps your business in the game. If your competitors share structured data and you don’t, you could lose some potential customers. Plus, the fact that website navigation can be mined could be of some benefit as well.
In short, structured data is too important to ignore. Thankfully, the plugins above can help make the process quick and easy.
Everyone wants to control their own destiny. For web designers, that means layouts that look great, code that works as intended, and clients who pay on time.
While we may wish for each of those things, reality usually plays out differently. Layouts aren’t always pixel-perfect, code breaks and clients – well, they’re human.
But it goes even further. The deeper you look, the more situations you’ll find that are out of your control.
This is especially tough for those of us who keep a tight grip on both our business and projects. When something is out of our sphere of influence, it’s easy to become frustrated. And that can harm virtually every aspect of your work. It may even creep into your personal life as well.
That’s why the ability to cope with these situations is vital. By saving yourself from obsessing over something you can’t control, you’ll have more energy to focus on being positive and productive.
Let’s look at a few difficult-to-control situations that typically impact web designers. Along the way, we’ll discuss some methods for letting go in a healthy manner.
When a Longtime Client Leaves
If you’ve worked in this industry for a few years, you may have gotten an unexpected email from a client that goes something like this:
“Hi,
We wanted to let you know that we are in the process of building a new website. It should be ready in the next few weeks. Could you work with our new designer to help with the transition?
It was great working with you!
Your Ex-Client”
This is frustrating on a few different levels. First and foremost, it hurts that you didn’t get a chance to even discuss the project. On top of that, your soon-to-be ex-client expects you to work on the transition away from your services.
Clients will come and go – that’s just part of doing business. However, it’s particularly difficult when someone blindsides you like this.
As it turns out, you had no warning and zero control. If you had just been able to pitch an idea or two, maybe things would have turned out differently? These are the types of thoughts likely racing through your head after reading such a letter.
How to Cope
True, the damage has already been done. And while you can angrily fire off a one or two-word reply to your client, that’s not going to help the situation.
On the bright side, this could be a great learning opportunity. Reply with a few politely-asked questions, such as:
Was there a particular reason you went with a new designer?
Did you have any issues with the quality of my work?
So that I can continue to improve my services, is there anything else you’d like to share?
Much of what you ask will depend on the client and the project. But this is a solid place to start. The idea is to get inside your client’s head a bit and find out what went into their decision.
And while not everyone will provide answers, the ones who do can prove valuable. You may find that your services were lacking in some areas. Or, perhaps the client’s cousin is the “new designer”. Either way, it’s better than pounding your fist over the situation.
When a Third-Party Provider Messes Up
So much of what web designers do these days depends on third-party providers. That could be anything from web hosting, plugins, themes, or email delivery services. In other words – a big piece of a website’s ability to function or be accessed at all is run by someone else.
A failure at any one of these links in the chain can be disastrous. To illustrate the point, think about what happens when a content delivery network (CDN) has an outage. That could bring down a massive number of websites.
Meanwhile, web designers are left without much (if any) control. On one hand, you have an understandably frustrated client. On the other is a company that dropped the ball. Oh, look – there’s you in the middle!
In this type of situation, every second can feel like an eternity. There might be an opportunity to switch to a different product, but that’s not always feasible. If the issue is prolonged, tension continues to grow on all sides.
How to Cope
Maybe you can’t control an outage or even a troublesome line of code. But there are some things you can do proactively.
Working with the provider’s technical support can at least make you feel like you’re in the game. By getting the status of the situation, there’s an opportunity to pass it along to affected clients.
What’s more, any troubleshooting information you can offer also has value. Who knows? If it leads to a resolution, you can say you were part of the process.
When a Favorite App Changes for the Worse
This one often hurts on a personal level. We web designers tend to fall in love with tools and applications that allow us to get things done. Perhaps it’s a favorite design app like Photoshop or a content management system (CMS) such as WordPress.
When apps change, those changes are inevitably forced onto us, as well. They impact our workflow – and not always in the most positive way.
All it takes is a quick look around support forums and social media to see the frustration. Users go on about how the feature they loved was “ruined” or that things will never be the same. We’ve all seen it and, at one time or another, been a part of that collective disappointment.
How to Cope
The first coping strategy is to give such changes a chance to sink in. Even if your first impression of them wasn’t favorable, it can take time to build a comfort level. A feature that may have frustrated you at first could become positive after more exposure.
Second, you might reach out to the developer and let them know how you feel. Maybe it doesn’t result in an immediate remedy, but at least you get it off of your chest. And if enough people feel the same way, there’s a chance that things evolve more acceptably.
If all else fails, perhaps it’s time to find a suitable alternative. Sometimes, your relationship with a tool simply runs its course.
A Different Take on Control
In a profession where we aim to control all the variables, having the opposite can be maddening.
But, think of it this way: even if you could control every aspect of your work, would you even want to? It’s a major responsibility and more stress than most of us can bear.
Somewhere along the line, you have to put a level of trust in others. Whether that’s trusting a client, a software developer, or a service provider – they are often necessary rungs on the ladder to a successful business.
There will be failures and disconnects along the way. And, while it would be nice to have a measure of control over them, it’s also a bit unrealistic.
However, lack of control doesn’t mean that you have to give up all hope. Instead, look for ways to learn from the situation. The knowledge and experience you gain will serve you long into the future.
WordPress 5.9 is expected to be a ground-breaking release. It will introduce the next generation of themes with Twenty Twenty-Two joining the fun and over 30 theme blocks to build all parts of your site. In anticipation of the January 25th release, we hope you enjoy this sneak peek of 5.9.
New design tools will allow you to create exactly what you want, from adding filters to all your images to fine-tuning the border radius on all your buttons. With WordPress 5.9 providing more design control along with streamlined access to patterns, you can easily change the entire look and feel of your site without switching themes.
No matter what you’re editing, whether it’s crafting a new post or working on a header, improvements to List View make it simple to navigate content regardless of complexity. More improvements and features for everyone are to come in this release and we can’t wait to see what you create with WordPress 5.9!
swoole 4.8.2
- Fixed memory leak of proc_open hook
- Fixed compatibility of curl native hook with PHP-8.0 and PHP-8.1
- Fixed connection cannot be closed normally in the Manager process
- Fixed Manager process cannot use sendMessage
- Fixed CoroutineHttpServer received abnormally large POST data parsing
- Fixed cannot exit directly when a fatal error occurs in PHP8 environment
- Adjust coroutine max_concurrency option, only allowed to be used in Co::set()
- Adjust Coroutine::join() to ignore non-exists coroutine
PhalconCryptCrypt::getHashAlgo() to PhalconCryptCrypt::getHashAlgorithm()
PhalconCryptCrypt::getAvailableHashAlgos() to PhalconCryptCrypt::getAvailableHashAlgorithms()
PhalconCryptCrypt::setHashAlgo() to PhalconCryptCrypt::setHashAlgorithm()#15717
Renamed PhalconFactoryAdapterFactory::getAdapters() to PhalconFactoryAdapterFactory::getServices()#15717
Changed PhalconCryptCrypt::__construct() to have useSigning set to true by default #15717
Changes to PhalconConfig
Moved PhalconConfig to PhalconConfigConfig
Changed PhalconConfigConfig::path by making the delimiter parameter a string
Changed PhalconConfigAdapterIni::__construct to not accept null as the mode. The default is now INI_SCANNER_NORMAL (2)
Refactored the code for more efficiency and speed #15720
Changed PhalconDbAdapterAdapterInterface::getInternalHandler() and PhalconDbAdapterPdoAbstractPdo::getInternalHandler() to return var instead of PDO for custom adapters with different engines #15119
Moved PhalconFilter to PhalconFilterFilter; added more tests #15726
Changed PhalconMvcModel::getPreparedQuery() to return QueryInterface instead of Query#15562
Changed PhalconFactoryAdapterFactory to define the factory exception in getExceptionClass() instead of a property. #15728
Renamed PhalconDbAdapterAbstractAdapter::getSqlVariables() to PhalconDbAdapterAbstractAdapter::getSQLVariables() to align with the rest of the getSQL* methods #15637
Changed PhalconEncryptionSecurity::hash() to also use password_hash() and accept ARGON2* algorithms #15731
Removed uncamelize of realClassName in PhalconMvcRouterRoute::getRoutePaths() if definition is string to make processing same as if array definition #15067
Changed PhalconValidation::getValue() behavior to get value from data if not found in entity. #14203
Changed PhalconSupportCollectionReadOnly to PhalconSupportCollectionReadOnlyCollection to avoid conflicts with the read-only feature in PHP 8.1 #15767
Removed PhalconText - replaced by PhalconSupportHelperStr*#15776
Removed PhalconHelperArr - replaced by PhalconSupportHelperArr*#15776
Removed PhalconHelperFile - replaced by PhalconSupportHelperFile*#15776
Removed PhalconHelperJson - replaced by PhalconSupportHelperJson*#15776
Removed PhalconHelperNumber - replaced by PhalconSupportHelperNumber*#15776
Removed PhalconHelperStr - replaced by PhalconSupportHelperStr*#15776
Removed references to PhalconText, PhaconHelper* from the code replacing it with PhalconSupportHelper*#15776
Synchronized tests with phalcon/phalcon thus increasing coverage #15776
Changed PhalconAssetsManager to require a PhalconHtmlTagFactory in its constructor #15776
Added
Added more tests in the suite for additional code coverage #15691
Added PhalconEventsAbstractEventsAware class to handle the Events Manager when necessary #15691
Added PhalconAclAdapterAdapterInterface::getInheritedRoles() and PhalconAclAdapterMemory::getInheritedRoles() that returns the inherited roles based on a passed role name (or all if no parameter supplied) #15154
Changes to PhalconCrypt
Added PhalconCryptPaddingPadInteface and padding adapters
PhalconCryptPaddingAnsi
PhalconCryptPaddingIso10126
PhalconCryptPaddingIsoIek
PhalconCryptPaddingNoop
PhalconCryptPaddingPadInterface
PhalconCryptPaddingPkcs7
PhalconCryptPaddingSpace
PhalconCryptPaddingZero
Added PhalconCryptPadFactory to easily create padding adapters
Fixed PhalconMvcModel::getRelated() to correctly return relationships (cached or not) when the foreign key has changed #15649
Fixed PhalconDbAdapterPdo*, PhalconMvcModel and PhalconMvcModelMetaDataStrategyAnnotations to treat BIGINT numbers as string #15632
Fixed PhalconCryptCrypt::decrypt() to correctly calculate the hash when using signed mode #15717
Fixed PhalconMvcModelManager::isVisibleModelProperty() to correctly check if setting property is visible #15276
Fixed PhalconConfigConfig::merge to retain numeric indexes in deep merges #14705
Fixed globals (Zephir change) to correctly display string values for global settings in phpinfo()#15269
Fixed PhalconStorageAdapterRedis::getAdapter() and PhalconCacheAdapterRedis::getAdapter() to accept the connection timeout in the constructor options#15744
Fixed PhalconDbAdapterAbstractAdapter::getSQLVariables() to return an empty array when initialized #15637
Fixed PhalconCacheAdapter* and PhalconStorageAdapter* to delete a key when set() is called with a zero or negative TTL #15485
Fixed PhalconDbAdapterPdoMysql to not use PDO::ATTR_EMULATE_PREPARES and PDO::ATTR_STRINGIFY_FETCHES by default. This allows numbers to be returned with resultsets instead of strings for numeric fields #15361
Fixed PhalconValidationValidatorFile to use messageFileEmpty#14928
Fixed PhalconDbRawValue usage bugs in PhalconMvcModel::doLowUpdate()#15413
This release adds support for exponential backoff w/jitter, experimental
support for detecting a dirty connection, as well as many other fixes
and improvements.
You can find a detailed list of changes in Changelog.md and package.xml
or by inspecting the git commit logs.
--- Sponsors ---
Audiomack - https://audiomack.com
Open LMS - https://openlms.net
BlueHost - https://bluehost.com
Object Cache Pro for WordPress - https://objectcache.pro
Avtandil Kikabidze - https://github.com/akalongman
Zaher Ghaibeh - https://github.com/zaherg
BatchLabs - https://batch.com
Luis Zarate - https://github.com/jlzaratec
Fixed segfault in redis_setoption_handler [692e4e84] (Pavlo Yatsukhnenko)
Fix masters array in the event of a cluster failover [bce692962] (Bar Shaul)
Fix 32 bit type error [672dec87f] (Remi Collet)
Fix radix character in certain locales [89a871e24] (Pavlo Yatsukhnenko)
In today’s freelancing climate, one of the best things you can do in terms of marketing yourself is to think in what I like to call “Test Terms.”
What does this mean? When a food company is developing a new product to release into the market, they don’t simply travel in a straight line from recipe to manufacturing to stocking the shelves at the grocery store. What happens is they perform a series of tests, which allow them to tweak their product until it gets just the right kind of response they’re looking for.
As a designer, it’s eminently possible to plan out a system that allows you to do the same thing, with similar results. However, many people remain stuck on one method of promotion, believing they’re too busy working to devote too much time to marketing themselves.
But the sad paradox of that belief is that, by not adjusting the way they market themselves, these freelance designers will always be too busy scraping by. They’re not getting the exposure they need to be choosier about the types of jobs they can take on, because the only jobs available are the ones that limited exposure gets them.
Everyone Tests Everything
One of the best ways to test consumers’ reactions to new food products is to get their direct feedback. Starting with just one local area, a company will test out a variety of different approaches to everything about the product. And I mean everything.
Do people in this small town like the taste of this new product, or do they hate it? If they hate it, it’s back to the test kitchens to improve the recipe. Are they repelled by the packaging?
Get that designer back in here – time to revise! Are the ads falling flat? Well, you get the idea.
Every tiny detail of this new product gets tested and re-tested, adjusted and refined wherever needed. After they’ve made enough improvements that people are now responding well to the product, it’s time to take it to a new area. This process gets repeated again and again until there’s a hugely positive response and people are stockpiling the new food item like they’re preparing for Armageddon.
A similar process happens, by the way, in the movie business, the government (think road signs or jury duty summonses aren’t tested? Think again), and other consumer industries like toys and games.
Testing is a proven strategy to improving a product’s chances of success, and as a designer, you can very easily start taking advantage of some of these sophisticated testing methods to place yourself practically in the lap of your most desired clients. Of course, you can and do test your approaches to design, but trying out new ways of marketing is easier to implement in your regular schedule than you might think.
Sharpen Your Pencils
Start with your main marketing approach, which might be your website, your business card, your cover letter, or your resume. How well does this approach work for you? Are the clients beating down your door, or is something not quite working the way it’s supposed to?
If you regularly hand out business cards at networking events, are they completely up to date? Do they display the important information clearly? Are you giving them to the right people? That last one is an important detail that many creative freelancers miss.
Business cards are practically useless if you don’t use them properly. At a networking event, the people you typically end up chatting with aren’t people who can provide you with tons of high-quality work.
They’re people just like you – struggling entrepreneurs who need services on the cheap. It doesn’t mean you shouldn’t work with these people, but it’s important to keep in mind the overall value of a client when you’re passing out those expensive business cards.
How good of a return on your investment will you be getting? Test out handing your business card to a different sort of person than you ordinarily would, and see what type of response you get.
In a similar way, your website may or may not be bringing you the steady stream of work that it could be. You may be the most brilliant, multifaceted designer the world has ever seen, and yet if no one knows about your work, you might as well be invisible.
The real key to getting better quality clients is not to put as much of your work “out there” as you possibly can. It’s making sure that the work you’ve done is being seen by the maximum number of eyeballs.
In the design world, the best way to do this, in my opinion, is by doing a personal side project that you really love and are passionate about.
The Gold Standard Of Eating
It turns out that as a designer operating a business as a freelancer, you should be adjusting everything you do to market yourself – all the time.
What do I mean by adjusting? In many restaurants, well before the rush of customers comes in, chefs create something called a Gold Standard, a single plate that sets the, well, standard for all the plates the kitchen will produce for that day.
It’s such an important part of the culinary process that the plates used in most restaurants – the ones you eat your main course on – are known as Gold Standard Plates.
The original Gold Standard is a test plate – any changes to the dish are tried out there first. If something is off about the flavor, the ingredients, or the arrangement of the items, the Gold Standard will be the laboratory where those things can be tweaked.
As a designer, incorporating a similar philosophy will be helpful in streamlining your marketing process. Creating your own “Gold Standard” of promotion will allow you to make quick adjustments locally, to one portion of your marketing campaign, before you roll out those changes to everything else.
Whether it’s your website’s analytics, your business card, or your resume, zoom in on one single marketing material and find out what works and what doesn’t.
Usually the information you learn is transferable to other parts of your marketing package, and you may even discover that one or more of your marketing materials are unnecessary.
You definitely need to have a website if you design them for a living, but what about business cards? A CV? Social media? How well are these things really working to directly deliver you the clients you want?
Different types of clients care about different things. Maybe your clients don’t care so much about your resume, but they would really love to read your personal blog or Twitter updates. Other clients might be the exact opposite – it’s essential to know your market and be able to provide them the proof they’re looking for that tells them you’re the designer for the job.
To join State of the Word 2021 online, check your Meetup chapter for a local watch party, or simply visit wordpress.org/news, where the livestream will be embedded.
If you would like to participate in person in New York City, please request a seat by filling out the registration form by Sunday, November 28. Not all requests will receive a seat due to venue capacity, but everyone who requests one will receive further notification on Tuesday, November 30.
In person attendees will be asked to show their COVID vaccination card at the venue entrance, and are expected to follow the safety measures in place. Because of these safety measures, there is a maximum of 50 attendees.
Whether you participate in person or online, we are so excited to see you on December 14! Don’t forget, State of the Word will be followed by a Question & Answer session. If you have a question for Matt, you can send your question ahead of time to ask-matt@wordcamp.org, or ask during the event in the YouTube chat.