How to Convert Column Number (e.g. 28) to Column Letter (e.g. AB) in Google Sheets

Google Sheets includes built-in functions for converting cell references in A1 notation to row and column numbers and another function for converting column alphabets (like AA) into the column index (26 in this case).

=ADDRESS(23, 28, 4) - Returns the A1 style notation of the cell whose row number is 23 and column number is 28.

=COLUMN(C9) - Returns the column number of a specified cell C9 where column A corresponds to 1 and column AA corresponds to 27.

Column Numbers in A1 Notation

Get A1 Notation with JavaScript

If you are working with the Google Sheets API, you may sometimes needs to calculate the A1 notation style reference of a cell whose row and column numbers are known in the JSON data of the sheet.

For container bound Google Sheets, the getA1Notation() method can return the range address in A1 Notation.

const sheet = SpreadsheetApp.getActiveSheet();
const range = sheet.getRange(1, 2);
Logger.log(range.getA1Notation());

If you are not using the Spreadsheet service, you can also compute the A1 notation reference of a cell using simple JavaScript.

/**
 *
 * @param {number} row - The row number of the cell reference. Row 1 is row number 0.
 * @param {number} column - The column number of the cell reference. A is column number 0.
 * @returns {string} Returns a cell reference as a string using A1 Notation
 *
 * @example
 *
 *   getA1Notation(2, 4) returns "E3"
 *   getA1Notation(2, 4) returns "E3"
 *
 */
const getA1Notation = (row, column) => {
  const a1Notation = [`${row + 1}`];
  const totalAlphabets = "Z".charCodeAt() - "A".charCodeAt() + 1;
  let block = column;
  while (block >= 0) {
    a1Notation.unshift(
      String.fromCharCode((block % totalAlphabets) + "A".charCodeAt())
    );
    block = Math.floor(block / totalAlphabets) - 1;
  }
  return a1Notation.join("");
};

This is equivalent to =ADDRESS() function of Google Sheets.

Get Column Number from A1 Notation

The next function takes the cell reference in A1 notation and returns the column number and row number of any cell in the spreadsheet.

/**
 *
 * @param {string} cell -  The cell address in A1 notation
 * @returns {object} The row number and column number of the cell (0-based)
 *
 * @example
 *
 *   fromA1Notation("A2") returns {row: 1, column: 3}
 *
 */

const fromA1Notation = (cell) => {
  const [, columnName, row] = cell.toUpperCase().match(/([A-Z]+)([0-9]+)/);
  const characters = "Z".charCodeAt() - "A".charCodeAt() + 1;

  let column = 0;
  columnName.split("").forEach((char) => {
    column *= characters;
    column += char.charCodeAt() - "A".charCodeAt() + 1;
  });

  return { row, column };
};

This is equivalent to the =ROW() and =COLUMN() functions available in Google Sheets.

Breaking Down WPMarmite’s 127-Shop Full Site Editing Study

Earlier today, the WPMarmite team released a massive study of 127 WordPress theme shops. It primarily focused on integration with the block editor. The team also surveyed 22 of the shops directly to dive deeper into what the future might look like when the Full Site Editing (FSE) project is entirely bundled into the core platform, which could be around the WordPress 5.9 release in late 2021.

FSE is not a single thing that WordPress will drop on users all at once. It is an ongoing project with several independent but related components that will ship based on their readiness. The goal is to move the block system beyond just content, bringing blocks into all facets of a site’s front end.

Single post/page template editing and block-based widgets are expected to arrive with WordPress 5.8 in July. These are two user-facing components that serve as stepping stones toward a complete FSE experience.

Putting study into context, FSE-related discussion for theme authors is mainly about block templates and global styles. These components will create a drastic change to theme development where templates are made up of blocks themselves and styles are configured via a JSON file. For the first time in WordPress’s history, users will be able to directly edit both from an interface in their site admin without knowing any code.

WordPress site editor with the templates panel opened on the left and the global styles panel opened on the right.
Upcoming site editor with templates (left panel) and global styles (right panel).

WordPress 5.0, the first version to include blocks, launched two and a half years ago. Theme authors have had time to catch up, migrate old projects, and create new ones. WPMarmite’s study gives a solid, at-a-glance view of how shops are fairing now that the shockwave of the block system’s introduction has long settled.

The Study: Block Editor Support

The primary takeaway from the 127-shop study was that 57% of them featured their compatibility with the block editor in some way. Short of testing themes from each site individually or directly asking them all, there is no other way to know how many actually offer support. My guess is the number is not much higher.

Technically, all themes “work” with the WordPress editor. However, not all are designed from the ground up to offer an ideal experience with it. As a commercial theme shop, you would want to mention this support somewhere in your marketing.

Even if that 57% is dead-on, a shop featuring block support does not always mean solid support. In my experience of viewing themes and their demos almost daily, “support” often means minimal adjustments to make sure the basics do not break the site. That number is far lower if you are counting themes that offer an immersive block-editor experience.

The number that was surprising but not surprising was the percentage of shops currently providing block patterns. Only 3% (4 in total) bundle custom patterns.

WordPress editor with the block patterns panel open.
Inserting a block pattern into the WordPress editor.

While the patterns API has only been around since WordPress 5.5, released less than a year ago, it is one of those crucial tools for the future of theme development. I thought the number was low. I just did not know it was 3% low.

If 57% of shops offer some level of block editor support, why are they stopping short of complete integration and not using the most powerful features at their disposal?

Patterns are part of that immersive experience I mentioned. If a shop does not have any, I would question how much it actually supports the block system.

In the WordPress.org free theme directory, that percentage is much higher. Currently, 514 themes add block editor styles, and 120 bundle at least one pattern.

Note: if you combine those two filters, the directory lists 107 themes. Some could be missing a tag.

One data point the team missed was how many of these theme shops integrated with third-party page builders. I would wager that most of the ThemeForest authors support at least one additional builder, maybe two. It is almost a sure-fire bet that Elementor and Beaver Builder top that list. While the study was on the core block system, this would have given us a more accurate look at the current theme market.

The Survey: FSE and the Future

Of the 127 shops, WPMarmite surveyed 22 of them with questions around FSE. The most telling statistic is that 82% of shops follow FSE-related news, citing WP Tavern as one of their sources. Thank you, dear readers.

On a more serious note, 86% of those surveyed believe that FSE will be a breakthrough for users. I am not surprised at this. Many features that theme authors have attempted to accomplish over the last decade are being rolled into the Gutenberg plugin. It is a slow process, but having the pieces built into WordPress provides standard APIs that will make themers’ jobs easier. In turn, this will allow them to launch features that users ask for with less code and a faster turnaround.

The number I want to see higher is those actively preparing for block templates and global styles. According to the survey, only 22% are doing so.

These components are continually in flux. However, the foundational elements are far more stable than they were just a few months ago. This makes it a good moment for others to start diving in — there is less chance of breaking changes with the system. I expect the percentage of commercial theme shops working with FSE to jump throughout the year. However, it could be a slow process getting to the point where such themes are commonplace. We may need to see a breakout block theme that quickly rises in popularity first. Everyone else will fall in line.

In the meantime, if anyone wants to experiment with FSE, there are six themes listed in the directory.

The Beginner’s Guide to CRM Strategy

Customer relationship management (CRM) has become one of the most critical components of any organization in the modern era.

Regardless of your business size or industry, CRM systems allow your team to track prospects and manage customer communication from a single source of truth. It’s arguably the best way to improve customer loyalty and deliver the best possible customer experience.

But CRM tools alone won’t deliver the results you need if you don’t have a strategy. It’s like building a house without a blueprint—chances are, you’re going to have problems.

On the flip side, the right CRM strategy will take your business to new levels. From small businesses to enterprise organizations and everything in between, this guide will explain what you need to know about creating a winning CRM strategy.

What is CRM Strategy?

A CRM (customer relationship management) strategy is a business plan designed to improve the customer experience and increase sales. The strategy encompasses different actions, technology, and processes related to marketing, sales, and customer service departments.

Winning CRMs strategies will ultimately provide a more enjoyable customer experience throughout the entire customer journey. The plan makes it easier to track and identify the best leads while unifying marketing, sales, and customer support teams.

Overall, every business as a whole will benefit from implementing a CRM strategy.

5 Tools to Improve Your CRM Strategy

Executing a CRM strategy all starts with the best CRM software. Here are five of my favorite CRM tools that will make it easier to put your plan into action:

#1 — HubSpot


HubSpot is an industry leader in the customer relationship management space. It’s a name that typically comes to mind first when anyone brings up CRM software. The platform is trusted by 100,000+ organizations in more than 120 countries. Some of the top businesses that rely on HubSpot for CRM strategy include Trello, SoundCloud, SurveyMonkey, the World Wildlife Fund, and more.

I like HubSpot because they have a plethora of different solutions within the CRM category. There’s a sales tool, marketing tool, customer support tool, and an all-in-one CRM platform that covers everything you need under a single roof. Another top benefit of HubSpot is the fact it integrates 500+ third-party business apps to extend the functionality of your CRM software. Sign up today and get started for free.

#2 — Salesforce

Trusted by small businesses and Fortune 500 companies alike, Salesforce is another powerhouse in the CRM software space. The platform is used by 150,000+ organizations across every industry imaginable. What really makes Salesforce stand out from the crowd is its scalability. Sales teams can manage leads, monitor pipeline activity, and close deals faster without guesswork.

Another reason why Salesforce ranks so high on our list is that it streamlines your sales process. You can use the tool to automate tedious administrative tasks and spend more time focusing on what matters most—closing. Salesforce has unique solutions for different use cases, like sales, marketing, ecommerce, analytics, user roles, and more. Plans start at $25 per user per month, and you can try it free for 14 days.

#3 — Pipedrive

Pipedrive is a user-friendly sales CRM and pipeline management solution. Over 95,000 organizations across the globe rely on this tool to manage customer relationships. What stands out with Pipedrive compared to other tools in this category is its simplicity. If it’s your first time using CRM software, Pipedrive doesn’t have much of a learning curve. So your team can get up and running right away without getting caught up in the technical aspects of CRM.

But don’t let Pipedrive’s simplicity fool you. This feature-rich CRM software is as powerful as it gets. You’ll benefit from tools that will help you manage leads, close deals, automate repetitive tasks, track customer communications, and more. Pipedrive even provides you with insightful reports and deep metrics related to your CRM strategy. Plans start at just $12.50 per user per month. Try Pipedrive for free with a 14-day trial.

#4 — Zoho CRM

Zoho CRM makes it easy to drive customer engagement, manage leads, and increase conversions for your business. With so many features packed into this powerful tool, it should come as no surprise that Zoho CRM is used by 150,000+ organizations globally. This includes household names like Amazon, Netflix, Bose, and Suzuki.

With Zoho CRM, you can communicate with your customers across every channel, including phone, email, live chat, and social media. You’ll have access to detailed information about your customers and leads, like status in the sales pipeline, name, how many pages they visited on your website, and more. Zoho CRM even goes a step further by helping you identify a lead’s probability of converting and provides you with insight like the expected revenue from the customer. There’s a free forever plan that’s suitable for small teams. Paid plans start at $14 per month, and you can try it for free with a 15-day trial.

#5 — Salesflare

Salesflare isn’t quite as well-known as some of the other tools on our list. But that’s because this tool is designed for a very specific niche: small businesses in the B2B space. The software works seamlessly with other tools that you’re already using, like Gmail, Microsoft Office 365, iCloud, and more. If you’re ready to leverage automation and take your B2B sales to the next level, Salesflare should be on your radar.

I like this tool because it eliminates busywork like manual data entry. This keeps your team selling while the software takes care of the rest. It’s packed with features to help you follow up with the leads at the perfect opportunity, so you never miss a sales window. You’ll also have full access to a lead’s communication history, which is perfect for teams working collectively on sales and customer service. Sign up today to start your free trial of Salesflare.

The Basics of CRM Strategy

Before you can successfully create a CRM strategy, you need a firm grasp of the fundamentals. This section will break down the core components of a customer relationship management strategy.

Company Goals

The first thing you need to do is take a step back and clearly identify your company goals. This goes beyond the obvious goal of “making money.”

Look past the short-term sales metrics and establish goals that are sustainable for the future growth of your business. How can your CRM strategy achieve those goals? Customer data is useless if you don’t know what you’re going to do with it. This will vary by business type and industry.

For example, an ecommerce shop might have a multi-step sales strategy for collecting leads and driving sales online. Whereas a brick-and-mortar retail shop might put more emphasis on referrals and a customer rewards program.

Once these goals have been established, the rest of your CRM strategy will be easier to plan.

Create a Customer Persona

For CRM strategies to be successful, you need a clear picture of your ideal customer. Trying to sell to anyone and everyone is a losing strategy and defeats the purpose of using CRM software to manage your leads.

But a specific customer persona will take your sales strategy to the next level. CRM tools can use this information to provide lead scoring metrics and qualify prospects accordingly. Now your sales team and marketing efforts will be much more specific and highly personalized to your ideal target market. No more wasting time on the phone with cold leads that were never going to convert.

Map Your Customer Conversion Funnel

You need to have a complete understanding of how customers navigate through your buying process. This will vary from company to company and have even more variations based on industry and business model.

Understanding the buyer’s journey is one of the most important aspects of planning and executing a CRM strategy.

Does your target market need four or five different touchpoints before they buy? Or do they convert with a single targeted offer when landing on your home page? Are you able to reach your customers on social media platforms like Facebook and Instagram? Or do you need to qualify B2B leads on LinkedIn and reach out to them with one-on-one phone calls from your sales reps?

Unify Your Entire Team

All of your employees must be on the same page with your CRM strategy. This extends far and beyond an individual understanding of what needs to happen. There must also be a cross-department collaboration to ensure success.

Everyone on your team will use the CRM strategy and your CRM software differently. But customers and prospects don’t want to see that type of division when they’re interacting with a brand. If a sales rep takes a call or live chat message from an inbound lead but doesn’t understand the marketing promotion that it came from, the chances of converting that customer are slim.

Similarly, if a customer support agent doesn’t understand the buyer’s journey that the customer has gone through, they’ll struggle to offer a high level of personalized service.

Establish Clear KPIs

Key performance metrics—better known as KPIs—are crucial to the success of any CRM strategy. Without knowing what to track, how can you possibly know if your CRM strategy is working?

Start with baseline measurements of where you are now so you can see if the new CRM strategy improved your success rates.

The KPIs for one company won’t be identical to another. It all depends on your industry and business model. But for the most part, lots of you will be tracking metrics like website traffic, leads, conversion rates, repeat purchases, average order value, lifetime value, churn, customer satisfaction, etc.

CRM software can automatically track KPIs for you and deliver the results with easy-to-digest reports. This will allow you to make actionable adjustments and fine-tune your strategy.

3 Tricks For CRM Strategies

To improve your experience creating and implementing a CRM strategy, I want to share some quick tips and hacks to get you started. These tricks are perfect for beginners who are looking for a big impact out of the gate.

Trick #1: Prioritize Customers

“All customers are created equal” might be a nice slogan or line on your company mission statement, but it’s simply not true. If you want to run a successful business, you must be willing to prioritize your customers based on how much revenue and profitability they’ll generate.

Sales reps shouldn’t be spending hours on the phone with a lead who has a slim chance of converting and wouldn’t generate more than a percentage point of the sales quota if they did. That time would be much better spent following up with the most profitable customers or leads with the highest chances of converting.

This is something that your team can start doing today. Don’t be afraid to end those low-priority calls as soon as possible or send a one-line response to emails that won’t add value to your bottom line.

Trick #2: Integrate Other Tools With Your CRM Platform

If you haven’t done so already, take a moment to integrate your other business apps with your CRM software. This will really take your CRM strategy to the next level, and it takes minimal effort.

The CRM software you’re using is only as good as the customer data it’s tracking. There will be tons of information gaps if the software isn’t pulling data from other tools. Modern CRM platforms make it easy to set up these integrations. There typically won’t be any coding or advanced technical skills required, and you can do this in a matter of minutes.

This also eliminates the need to bounce back and forth between multiple platforms when selling to leads or providing support to customers.

Trick #3: Use the Right Technology

Your CRM strategy won’t be effective without the right tools. In addition to the solutions listed earlier in this post, check out our complete guide of the best CRM software.

All CRM software is not created equally. There’s CRM for sales, CRM for marketing, and CRM for support. You’ll even find different CRM solutions based on industry, role, and business type. The best CRM for an ecommerce site probably won’t be the best option for a B2B enterprise or a local retail shop.

Serverless Functions: The Secret to Ultra-Productive Front-End Teams

Modern apps place high demands on front-end developers. Web apps require complex functionality, and the lion’s share of that work is falling to front-end devs:

  • building modern, accessible user interfaces
  • creating interactive elements and complex animations
  • managing complex application state
  • meta-programming: build scripts, transpilers, bundlers, linters, etc.
  • reading from REST, GraphQL, and other APIs
  • middle-tier programming: proxies, redirects, routing, middleware, auth, etc.

This list is daunting on its own, but it gets really rough if your tech stack doesn’t optimize for simplicity. A complex infrastructure introduces hidden responsibilities that introduce risk, slowdowns, and frustration.

Depending on the infrastructure we choose, we may also inadvertently add server configuration, release management, and other DevOps duties to a front-end developer’s plate.

Software architecture has a direct impact on team productivity. Choose tools that avoid hidden complexity to help your teams accomplish more and feel less overloaded.

The sneaky middle tier — where front-end tasks can balloon in complexity

Let’s look at a task I’ve seen assigned to multiple front-end teams: create a simple REST API to combine data from a few services into a single request for the frontend. If you just yelled at your computer, “But that’s not a frontend task!” — I agree! But who am I to let facts hinder the backlog?

An API that’s only needed by the frontend falls into middle-tier programming. For example, if the front end combines the data from several backend services and derives a few additional fields, a common approach is to add a proxy API so the frontend isn’t making multiple API calls and doing a bunch of business logic on the client side.

There’s not a clear line to which back-end team should own an API like this. Getting it onto another team’s backlog — and getting updates made in the future — can be a bureaucratic nightmare, so the front-end team ends up with the responsibility.

This is a story that ends differently depending on the architectural choices we make. Let’s look at two common approaches to handling this task:

  • Build an Express app on Node to create the REST API
  • Use serverless functions to create the REST API

Express + Node comes with a surprising amount of hidden complexity and overhead. Serverless lets front-end developers deploy and scale the API quickly so they can get back to their other front-end tasks.

Solution 1: Build and deploy the API using Node and Express (and Docker and Kubernetes)

Earlier in my career, the standard operating procedure was to use Node and Express to stand up a REST API. On the surface, this seems relatively straightforward. We can create the whole REST API in a file called server.js:

const express = require('express');

const PORT = 8080;
const HOST = '0.0.0.0';

const app = express();

app.use(express.static('site'));

// simple REST API to load movies by slug
const movies = require('./data.json');

app.get('/api/movies/:slug', (req, res) => {
  const { slug } = req.params;
  const movie = movies.find((m) => m.slug === slug);

  res.json(movie);
});

app.listen(PORT, HOST, () => {
  console.log(`app running on http://${HOST}:${PORT}`);
});

This code isn’t too far removed from front-end JavaScript. There’s a decent amount of boilerplate in here that will trip up a front-end dev if they’ve never seen it before, but it’s manageable.

If we run node server.js, we can visit http://localhost:8080/api/movies/some-movie and see a JSON object with details for the movie with the slug some-movie (assuming you’ve defined that in data.json).

Deployment introduces a ton of extra overhead

Building the API is only the beginning, however. We need to get this API deployed in a way that can handle a decent amount of traffic without falling down. Suddenly, things get a lot more complicated.

We need several more tools:

  • somewhere to deploy this (e.g. DigitalOcean, Google Cloud Platform, AWS)
  • a container to keep local dev and production consistent (i.e. Docker)
  • a way to make sure the deployment stays live and can handle traffic spikes (i.e. Kubernetes)

At this point, we’re way outside front-end territory. I’ve done this kind of work before, but my solution was to copy-paste from a tutorial or Stack Overflow answer.

The Docker config is somewhat comprehensible, but I have no idea if it’s secure or optimized:

FROM node:14
WORKDIR /usr/src/app
COPY package*.json ./
RUN npm install
COPY . .
EXPOSE 8080
CMD [ "node", "server.js" ]

Next, we need to figure out how to deploy the Docker container into Kubernetes. Why? I’m not really sure, but that’s what the back end teams at the company use, so we should follow best practices.

This requires more configuration (all copy-and-pasted). We entrust our fate to Google and come up with Docker’s instructions for deploying a container to Kubernetes.

Our initial task of “stand up a quick Node API” has ballooned into a suite of tasks that don’t line up with our core skill set. The first time I got handed a task like this, I lost several days getting things configured and waiting on feedback from the backend teams to make sure I wasn’t causing more problems than I was solving.

Some companies have a DevOps team to check this work and make sure it doesn’t do anything terrible. Others end up trusting the hivemind of Stack Overflow and hoping for the best.

With this approach, things start out manageable with some Node code, but quickly spiral out into multiple layers of config spanning areas of expertise that are well beyond what we should expect a frontend developer to know.

Solution 2: Build the same REST API using serverless functions

If we choose serverless functions, the story can be dramatically different. Serverless is a great companion to Jamstack web apps that provides front-end developers with the ability to handle middle tier programming without the unnecessary complexity of figuring out how to deploy and scale a server.

There are multiple frameworks and platforms that make deploying serverless functions painless. My preferred solution is to use Netlify since it enables automated continuous delivery of both the front end and serverless functions. For this example, we’ll use Netlify Functions to manage our serverless API.

Using Functions as a Service (a fancy way of describing platforms that handle the infrastructure and scaling for serverless functions) means that we can focus only on the business logic and know that our middle tier service can handle huge amounts of traffic without falling down. We don’t need to deal with Docker containers or Kubernetes or even the boilerplate of a Node server — it Just Works™ so we can ship a solution and move on to our next task.

First, we can define our REST API in a serverless function at netlify/functions/movie-by-slug.js:

const movies = require('./data.json');

exports.handler = async (event) => {
  const slug = event.path.replace('/api/movies/', '');
  const movie = movies.find((m) => m.slug === slug);

  return {
    statusCode: 200,
    body: JSON.stringify(movie),
  };
};

To add the proper routing, we can create a netlify.toml at the root of the project:

[[redirects]]
  from = "/api/movies/*"
  to = "/.netlify/functions/movie-by-slug"
  status = 200

This is significantly less configuration than we’d need for the Node/Express approach. What I prefer about this approach is that the config here is stripped down to only what we care about: the specific paths our API should handle. The rest — build commands, ports, and so on — is handled for us with good defaults.

If we have the Netlify CLI installed, we can run this locally right away with the command ntl dev, which knows to look for serverless functions in the netlify/functions directory.

Visiting http://localhost:888/api/movies/booper will show a JSON object containing details about the “booper” movie.

So far, this doesn’t feel too different from the Node and Express setup. However, when we go to deploy, the difference is huge. Here’s what it takes to deploy this site to production:

  1. Commit the serverless function and netlify.toml to repo and push it up on GitHub, Bitbucket, or GitLab
  2. Use the Netlify CLI to create a new site connected to your git repo: ntl init

That’s it! The API is now deployed and capable of scaling on demand to millions of hits. Changes will be automatically deployed whenever they’re pushed to the main repo branch.

You can see this in action at https://serverless-rest-api.netlify.app and check out the source code on GitHub.

Serverless unlocks a huge amount of potential for front-end developers

Serverless functions are not a replacement for all back-ends, but they’re an extremely powerful option for handling middle-tier development. Serverless avoids the unintentional complexity that can cause organizational bottlenecks and severe efficiency problems.

Using serverless functions allows front-end developers to complete middle-tier programming tasks without taking on the additional boilerplate and DevOps overhead that creates risk and decreases productivity.

If our goal is to empower frontend teams to quickly and confidently ship software, choosing serverless functions bakes productivity into the infrastructure. Since adopting this approach as my default Jamstack starter, I’ve been able to ship faster than ever, whether I’m working alone, with other front-end devs, or cross-functionally with teams across a company.


The post Serverless Functions: The Secret to Ultra-Productive Front-End Teams appeared first on CSS-Tricks.

You can support CSS-Tricks by being an MVP Supporter.

Local: Always Getting Better

I’ve been using Local for ages. Four years ago, I wrote about how I got all my WordPress sites running locally on it. I just wanted to give it another high five because it’s still here and still great. In fact, much great than it was back then.

Disclosure, Flywheel, the makers of Local, sponsor this site, but this post isn’t sponsored. I just wanted to talk about a tool I use. It’s not the only player in town. Even old school MAMP PRO is has gotten a lot better and many devs seem to like it. People that live on the command line tend to love Laravel Valet. There is another WordPress host getting in on the game here: DevKinsta.

The core of Local is still very much the same. It’s an app you run locally (Windows, Mac, or Linux) and it helps you spin up WordPress sites incredibly easily. Just a few choices and clicks and it’s going. This is particularly useful because WordPress has dependencies that make it run (PHP, MySQL, a web server, etc) and while you can absolutely do that by hand or with other tools, Local does it in a containerized way that doesn’t mess with your machine and can help you run locally with settings that are close to or entirely match your production site.

That stuff has always been true. Here are things that are new, compared to my post from four years ago!

  • Sites start up nearly instantaneously. Maybe around a year or a bit more ago Local had a beta build they dubbed Local “Lightning” because it was something of a re-write that made it way faster. Now it’s just how Local works, and it’s fast as heck.
  • You can easily pull and push sites to production (and/or staging) very easily. Back then, you could pull I think but not push. I still wire up my own deployment because I usually want it to be Git-based, but the pulling is awfully handy. Like, you sit down to work on a site, and first thing, you can just yank down a copy of production so you’re working with exactly what is live. That’s how I work anyway. I know that many people work other ways. You could have your local or staging environment be the source of truth and do a lot more pushing than pulling.
  • Instant reload. This is refreshing for my little WordPress sites where I didn’t even bother to spin up a build process or Sass or anything. Usually, those build processes also help with live reloading, so it’s tempting to reach for them just for that, but no longer needed here. When I do need a build process, I’ll often wire up Gulp, but also CodeKit still works great and its server can proxy Local’s server just fine.
  • One-click admin login. This is actually the feature that inspired me to write this post. Such a tiny quality of life thing. There is a button that says Admin. You can click that and, rather than just taking you to the login screen, it auto-logs you in as a particular admin user. SO NICE.
  • There is a plugin system. My back-end friends got me on TablePlus, so I love that there is an extension that allows me to one-click open my WordPress DBs in TablePlus. There is also an image optimizer plugin, which scans the whole site for images it can make smaller. I just used that the other day because might as well.

That’s not comprehensive of course, it’s just a smattering of features that demonstrate how this product started good and keeps getting better.

Bonus: I think it’s classy how they shout out to the open source shoulders they stand on:


The post Local: Always Getting Better appeared first on CSS-Tricks.

You can support CSS-Tricks by being an MVP Supporter.

help for my code1

Hi, I've been suffering with my magic the gathering c++ code. Here's the problem;
I make combat between two cards and after the fight, opponent's HP will be reduce. So far, the HP reduces in side the classes but when we call the player's HP, it doesn't change as in the classes.
What I can add to change the value throughout the program?

The Beginner’s Guide to Cold Emails

Cold emailing is something that most people dread. It is much harder than almost any other form of communication and requires patience and persistence. Anyone who has ever done cold emailing knows that rejection is just par for the course, and you can’t let it discourage you or keep you from continuing to try.

One of the reasons why cold emails are such a challenge is because the person on the other end of the email has no relationship with you. They are likely a complete stranger who is probably busy, and may not have the time or energy to give you (again, a stranger) the time of day. They may also be someone who is inundated with cold emails daily, and yet another one in their inbox isn’t exactly going to excite them.

However, when done well, cold emails can work. Some people find that they reach success rates of 20% with cold emails. However, before taking the plunge into the deep end of cold emails, you need to learn some tips, tricks, and basics.

What is a Cold Email?

A cold email is an email sent to someone that currently has no relationship with you. You may know this person via research, but the recipient does not know you.

This type of email is similar to a cold call but is a bit more friendly as it lets the person on the receiving side choose when he or she wants to open your email and read it (if they choose to do so at all).

Typically, cold emails serve the purpose of making a sale, a connection, or asking for help with something.

Though oftentimes people group cold emails and spam in the same category, they are not the same at all (when done correctly). Spam is usually a generic message that is not personalized and comes from a fake name. The subject line is also something that is misleading or tricks the recipient into thinking the email is different than it is.

Cold emails, on the other hand, are not generic (or they shouldn’t be, at least). They have a specific message that is catered to the specific recipient and they come from a real person with a real name (you). On top of that, the subject line gives a preview of what the email is about and does not lead the recipient astray.

3 Tools to Improve Cold Emails

It may seem like it’s easy enough to hop onto your email, craft something and send it off to someone. But it isn’t that simple, especially if you’re trying to send out a bunch of cold emails. This is something that sales teams run into. While the concept of automating emails sounds great, this is not something you want to do with cold emails to potential clients. They will quickly see through the generic message and click “delete.”

To avoid that from happening, use the below tools to take your cold email game to the next level.

Hubspot

Good customer relationship management (CRM) software is key to running a good business. This software allows you to focus on the customer and make sure their experience with your company is as beneficial for them as possible. While there are many CRM software companies in the industry, the one that gets our highest recommendation is Hubspot.

Hubspot offers a free plan that provides much more than any other CRM’s free plan, and that’s one of the reasons we love it. Included with their free plan you get:

  • Contact management
  • Deal management
  • Task management
  • Email tracking and notifications
  • Email templates and scheduling
  • Document sharing
  • Meeting scheduling
  • Email integration (Gmail and Outlook)
  • Live chat

But when it comes to cold emails, what we love about Hubspot is that it offers a free email template builder.

As mentioned above, personalizing cold emails is key to the success of your efforts, but that doesn’t mean you can’t take advantage of templates to help guide you and give you a starting place. Thanks to Hubspot’s integration with both Outlook and Gmail, this process is much easier.

By using Hubspot’s templates, you can get real-time metrics that let you know which templates are doing well, and which ones require some work. These metrics include things such as open rates, which let you know whether it’s simply your subject line that should be changed, as well as click rates, which let you know how good of a job you did convincing the recipient to explore further.

Hunter

One of the additional challenges of cold emails is finding the right person and address to send the email to. Some of this information may be easy to find with online research, while for others, it may be nearly impossible to chase down.

Enter Hunter. Hunter is a tool that helps you find and verify email addresses. Simply put in the domain name of the client you are interested in reaching out to, and Hunter’s program spits out a list of all the known email addresses for that specific domain.

Hunter gathers their information not via a single database but rather by crawling the web for email listings in all sorts of places such as social media, forums, and more.

On top of that, Hunter has a Chrome extension that gives you the ability to generate a list of email addresses for any website that you visit.

PersistIQ

If you are looking to scale your cold email outreach without sacrificing that necessary personal connection, consider adding PersistIQ to your toolbox.

PersistIQ works to determine the information about a prospective client quickly and easily via the potential client’s website. This tool allows you to focus your attention on crafting the perfect cold email rather than spending your time researching the prospect – because PersistIQ does it for you.

One of the things we like about PersistIQ is that it won’t allow you to send out emails that have not been personalized. Since personalization is such an important piece of a successful cold email, this feature is highly beneficial.

The Basics of Cold Emails

To compose a cold email that has the potential to bring in a new client, there are some basics you need to understand. Be sure to read through these things before sitting down to start writing that cold email.

Target

No one wants to put their time and energy into creating something that won’t be seen by the right people. This is true when it comes to cold emails, too. If you spend the time researching and writing a strong cold email, you want to make sure the recipient is even interested in what you are trying to sell.

That’s why identifying your target audience is an absolute must. This is something you should do before you get into the actual writing of the email.

To do this, you can do a couple of different things. You can look at the people that your competitors are targeting because they are people who already have an interest in what you’re selling. You can also use LinkedIn’s Sales Navigator to help you build email lists based on criteria specific to your company, and it helps you find the email addresses of potential leads.

Segment

Once you have your targeted list, you next want to break it down into segments. These segments are based on a variety of things including:

  • Industry
  • Job title
  • Location
  • Age
  • Company size

Segmenting your email campaigns results in a much higher click-through rate than campaigns that are not segmented.

Subject Line

We have all gotten emails where we saw the subject line and immediately threw the message into the garbage. That is because the subject line didn’t speak to us in any way, and we deemed it spam.

47% of people decide whether or not to open an email based simply on the subject line, so there is no denying its importance. The best subject lines are those that are short and possibly even actionable. Typing a subject such as “Looking to Connect” won’t get you the open rates you’re looking for.

Emails with the recipient’s name in the subject line are more likely to get opened, and emails that create a sense of urgency or exclusivity also have higher open rates.

Personalize

If you are sending mass emails, personalizing can be a bit difficult and time-consuming, but it is worth taking the time to do so. If nothing else, at least include the recipient’s first name, rather than simply writing “Hello there” or “Hi, you!” A study from Experian showed that personalized emails have a 29% higher open rate and a 41% higher click-through rate than those emails that fail to personalize at all.

So take the few extra moments to add the recipient’s name into your cold emails, and reap the benefits.

Validate

You have done the research and gathered information about the person you are cold emailing, but keep in mind that they don’t know you at all. And why would they be interested in what a stranger has to say? If you can craft the perfect subject line that intrigues them to open the email, keep them reading the email and hopefully clicking through by showing that you are a credible and trustworthy person.

There are a few ways you can do this. If you have a mutual friend or contact, be sure to mention that. This name-dropping turns you from a stranger to a friend of a friend.

If you don’t have any people that connect you two, state your credibility or authority on the subject of your email. Don’t spend too much time on this, as you don’t want to come off braggadocious. Just a line or two is enough.

If you have neither of the above, then find something that you have in common, such as a hobby.

6 Tricks for Cold Emails

With the basics of cold emails down, now it’s time to consider some tricks that can increase the success rate of your efforts.

Give Them What They Want

Everyone has problems that they would like solved. If you are cold emailing someone trying to sell them a product or a service, make sure you explain how what you’re offering can help solve a specific problem of theirs. This requires research and personalization of your cold emails, which are two key things we’ve mentioned above.

Keep in mind that most of the people you email are busy and don’t have the time or energy to respond to emails that they don’t feel will help make their lives easier, or help them tackle a pain point. Thus, either offer a solution or provide them with something else, such as a connection to someone that they want to meet.

Keep it Short

There is no denying that short emails have a much higher chance of being read from start to finish than long ones. Have you ever opened up an email to find a novel of writing and closed it out because you just didn’t have the time or energy for something that long? I know I have. So keep your cold emails short and to the point, and make sure that the action you are requesting is very clear from the beginning.

One of the most natural ways to keep it short is to treat the email as a normal in-person conversation. When you chat with someone in real life, you wouldn’t spend a long time pitching. Instead, you would introduce yourself, mention a common interest or contact, and state why you want to talk to them. Treat your cold emails the same. Be nice and respectful, but keep them short and get to the point.

Show Appreciation

Keep in mind that a cold email is essentially asking someone to do you a favor. And this person you’re asking a favor to is a stranger. One way to soften this and make the recipient feel more willing to help is by showing appreciation. This extends beyond a simple “Thank you for your time.” The appreciation should be much more genuine, and be in the email at least a couple of times. Something more along the lines of “Thank you so much! I appreciate you taking the time to consider this” provides a much more gracious tone and increases the chances that the recipient will help you out.

Include Contact Info

Put all of your contact information in the signature of your cold email. The last thing you want is to have the recipient chase down any information about you – because they won’t do it.

This contact info needs to include:

  • Your name
  • Your job title
  • Your company
  • Your company’s physical address
  • Your company’s website

You may even want to include a phone number in case they prefer talking on the phone over email. Don’t close any doors of ways this person could potentially get in contact with you.

Close With a Question

One of the worst things you can do is end a cold email with a line like “Let me know if you want to chat.” This places the decision-making on the recipient, which they may not want to take the time to do. This also puts the responsibility on the recipient to set up a time to chat that is best for them.

Instead, provide options. “I can chat on Thursday between 10 a.m. and 3 p.m. Does a time in there work for you? If not, what time does? I will make it work.” This narrows things down and allows them to pick a time in a very specific time frame that is ideal for them.

Follow Up

You may feel like a nuisance doing this, but following up on cold emails is a necessity. Many salespeople find that cold emails require five follow-ups. It’s not always the case that the recipient isn’t interested – you may have just caught them at a bad time, or your email may have gotten lost in their inbox. There are plenty of reasons that someone may not respond to a cold email but do not automatically assume that it is because they aren’t interested.

To make the follow-up process and painless as possible for both you and the person at the receiving end of the email, there are a few things you can do.

  1. Stay friendly. Don’t ever say “I didn’t hear from you, so am reaching out again.” Rather, say something like “Just checking in to see if you’ve had a chance to consider what I shared with you last week.”
  2. Allow some time between follow-ups. Sending follow-ups daily looks desperate and comes off as annoying. Instead, wait a week between each follow-up email.
  3. Give them a chance to opt out. To keep from wasting your time and theirs, if they are not interested, provide them an opportunity to say so. A good way to do this is by using a phrase such as “Please let me know if you aren’t the right person to chat with about this.”

Two queries from table at the same time

Hi all,

I am working on a website that requires two queries from a table at the same time. They must select a row based on the id, and then another random one not including the row just selected. I currently have:

$query = $pdo->prepare('SELECT title, content FROM cards WHERE card_id=? LIMIT 1');
$query->execute([$slugId]);
$row = $query->fetch();

to select the row based on the id. But I am unsure how to get a random id, in that how do I go about it? Do I just do something along the lines of:

$randomQuery = $pdo->('SELECT title, content FROM cards ORDER BY RAND() WHERE card_id !=? LIMIT 1');
$randomQuery->execute([$slugId]);
$randomRow = $query->fetch();

or is there another way to do it? Because isn't using $pdo twice opening two connections to the database? Is this the correct way to do it or is there another way that will only use one connection?

TIA

Generate ID code not working

Hi! I found this code in one of the threads here

I converted it into an access kind of code(?) and unfortunately, it won't increment, nor find the top/max in my database. Someone please help?

`

Private Function GenID() As String
        Dim dr As OleDbDataReader
        Dim com As OleDbCommand
        Dim value As String = "2021000"
        Dim ID As String

        Try
            con.Open()
            com = New OleDbCommand("SELECT TOP 1 <studno> FROM record ORDER by <studno> DESC", con)
            dr = com.ExecuteReader(CommandBehavior.CloseConnection)
            If dr.HasRows Then
                dr.Read()
                value = dr.Item("<studno>")
            End If

            value += 1

            If value <= 9 Then                'Value is between 0 and 10
                value = "202100" & value
            ElseIf value <= 99 Then        'Value is between 9 and 100
                value = "20210" & value
            ElseIf value <= 999 Then        'Value is between 999 and 1000
                value = "2021" & value
            End If

        Catch ex As Exception
            If con.State = ConnectionState.Open Then
                con.Close()
            End If
            value = "2021000"
        End Try

        Return value
    End Function

    Private Sub addRecords_Load(sender As Object, e As EventArgs) Handles MyBase.Load
        studno.Text = GenID()
    End Sub

`

Happy June Vibes For Your Screen (2021 Desktop Wallpapers Edition)

There’s an artist in everyone. Some bring their creative ideas to life with digital tools, others capture the perfect moment with a camera, or love to grab pen and paper to create little doodles or pieces of lettering. And even if you think you’re far away from being an artist, well, it might just be hidden somewhere deep inside of you. So why not explore it?

Since more than ten years, our monthly wallpapers series is the perfect opportunity to do just that: to challenge your creative skills and break out of your daily routine to do something just for fun, fully immersing yourself in the creative process.

For this post, folks from across the globe once again took on the challenge and designed beautiful and unique wallpapers to cater for some good vibes on your screens. All of them come in versions with and without a calendar for June 2021 and can be downloaded for free. At the end of this post, we also compiled some wallpaper goodies from our archives that are just too good to be forgotten. A big thank-you to everyone who shared their designs with us — this post wouldn’t exist without you. Happy June!

  • You can click on every image to see a larger preview,
  • We respect and carefully consider the ideas and motivation behind each and every artist’s work. This is why we give all artists the full freedom to explore their creativity and express emotions and experience through their works. This is also why the themes of the wallpapers weren’t anyhow influenced by us but rather designed from scratch by the artists themselves.

Submit a wallpaper!

Did you know that you could get featured in our next wallpapers post, too? We are always looking for creative talent! Join in! →

Mother Nature

“Rain, fog, and winter jackets have been our companions for the last couple of weeks, but we are challenging the gloomy weather with this colorful, vibrant, picturesque calendar design. Spring is the most wonderful time of the year, intense, powerful, and vivid. We hope to summon sunny June with our desktop wallpaper - join us!” — Designed by PopArt Studio from Novi Sad, Serbia.

Reef Days

“June brings the start of summer full of bright colors, happy memories, and traveling. What better way to portray the goodness of summer than through an ocean folk art themed wallpaper. This statement wallpaper gives me feelings of summer and I hope to share that same feeling with others.” — Designed by Taylor Davidson from Kentucky.

Happy Father’s Day

“Whatever you call them, Pa, Dad, Daddy, Pops, they all have one thing in common: they are our superheroes. So, to honor superhero fathers this Father’s Day, we created this super calendar for you to enjoy.” — Designed by Ever Increasing Circles from the United Kingdom.

Bikini Season

“June reminds me of growing up on the lake. For me, this month is the official start of bikini season! I wanted to create this wallpaper to get everyone excited to put on their favorite suit and find their favorite body of water.” — Designed by Katie Ulrich from the United States.

Summer Party

Designed by Ricardo Gimenes from Sweden.

Happy Squatch

“I just wanted to capture the atmosphere of late spring/early summer in a fun, quirky way that may be reflective of an adventurous person during this time of year.” — Designed by Nick Arcarese from the United States.

Dancing In The Summer Moonlight

“If you’re happy and you know it - show some dance moves - because summer is finally here!” — Designed by ActiveCollab from the United States.

Love Yourz

“J Cole is one of the most inspiring hip hop artists and is known for his famous song ‘Love Yourz’. With all of the negativity and hate we have been having the past year, this is a message to remind people to love your life (love yourz) because there is no such thing as a life that is better than yours.” — Designed by James from Pennsylvania.

Made For Greatness

“Inspiring to more than mediocrity.” — Designed by Katherine Bollinger from the United States.

Summertime

Designed by Ricardo Gimenes from Sweden.

This Is How You Start The Day

“When I think of June, I think of what summer items make you happy. For the 21+ club, summer means grabbing a drink with your friends on a hot summer day. The preferred drink of the summer is bottomless mimosas! And what better time to start drinking than the beginning of the day (responsibly of course)!” — Designed by Carolyn Choates from the United States.

Under The Starlight

“After being cooped up inside for so long, everyone needs a little nature break! And what’s more calming than a crackling campfire on a cool midsummer night, looking up at the shining stars and full moon!” — Designed by Hannah Basham from the United States.

Oldies But Goodies

Ready for more? Below you’ll find a little best-of from past June wallpapers editions. Enjoy! (Please note that these designs don’t come with a calendar.)

Summer Coziness

“I’ve waited for this summer more than I waited for any other summer since I was a kid. I dream of watermelon, strawberries, and lots of colors.” — Designed by Kate Jameson from the United States.

Wildlife Revival

“In these turbulent times for men, we are witnessing the extraordinary rebirth of nature, especially of the wildlife around the planet. Maybe this situation is a blessing in disguise? Either way, one thing is for sure, this planet is the home that we share with all other forms of life and it is our obligation and sacred duty to protect it.” — Designed by LibraFire from Serbia.

Summer Is Coming

“Imagine a sunny beach and an endless blue sea. Imagine yourself right there. Is it somewhere in Greece? The Mediterranean? North Africa? Now turn around and start wandering through those picturesque, narrow streets. See all those authentic white houses with blue doors and blue windows? Feel the fragrance of fresh flowers? Stop for a second. Take a deep breath. Seize the moment. Breathe in. Breathe out. Now slowly open your eyes. Not quite there yet? Don’t worry. You will be soon! Summer is coming…” — Designed by PopArt Studio from Serbia.

Solstice Sunset

“June 21 marks the longest day of the year for the Northern Hemisphere — and sunsets like these will be getting earlier and earlier after that!” — Designed by James Mitchell from the United Kingdom.

Ice Creams Away!

“Summer is taking off with some magical ice cream hot air balloons.” — Designed by Sasha Endoh from Canada.

Deep Dive

“Summer rains, sunny days and a whole month to enjoy. Dive deep inside your passions and let them guide you.” — Designed by Ana Masnikosa from Belgrade, Serbia.

The Call Of Koel

“The peak of summer is upon us, and June brings scorching heat to most places in India. Summer season in my state also reminds me of the bird songs, especially the Koel bird. A black bird with a red eye, this bird’s elegant voice rings through the trees on hot summer afternoons. This June, I have created a wallpaper to give life to this experience — the birds singing in scorching heat give us some respite!” — Designed by Anuja from India.

Oh, The Places You Will Go!

“In celebration of high school and college graduates ready to make their way in the world!” — Designed by Bri Loesch from the United States.

Bauhaus

“I created a screenprint of one of the most famous buildings from the Bauhaus architect Mies van der Rohe for you. So, enjoy the Barcelona Pavillon for your June wallpaper.” — Designed by Anne Korfmacher from Germany.

Join The Wave

“The month of warmth and nice weather is finally here. We found inspiration in the World Oceans Day which occurs on June 8th and celebrates the wave of change worldwide. Join the wave and dive in!” — Designed by PopArt Studio from Serbia.

Flamingood Vibes Only

“I love flamingos! They give me a happy feeling that I want to share with the world.” — Designed by Melissa Bogemans from Belgium.

Shine Your Light

“Shine your light, Before the fight, Just like the sun, Cause we don’t have to run.” — Designed by Anh Nguyet Tran from Vietnam.

Summer Surf

“Summer vibes.” — Designed by Antun Hirsman from Croatia.

Ice Cream June

“For me, June always marks the beginning of summer! The best way to celebrate summer is of course ice cream, what else?” — Designed by Tatiana Anagnostaki from Greece.

Lavender Is In The Air!

“June always reminds me of lavender — it just smells wonderful and fresh. For this wallpaper I wanted to create a simple, yet functional design that featured — you guessed it — lavender!” — Designed by Jon Phillips from Canada.

Strawberry Fields

Designed by Nathalie Ouederni from France.

Start Your Day

Designed by Elise Vanoorbeek from Belgium.

Pineapple Summer Pop

“I love creating fun and feminine illustrations and designs. I was inspired by juicy tropical pineapples to celebrate the start of summer.” — Designed by Brooke Glaser from Honolulu, Hawaii.

<img loading="lazy" decoding="async" src="https://cloud.netlifyusercontent.com/assets/344dbf88-fdf9-42bb-adb4-46f01eedd629/16db22ee-c7f8-47a3-856c-992c82cd61f9/june-16-pineapple-summer-pop-preview-opt.png" alt="Pineapple Summer Pop"

Nine Lives!

“I grew up with cats around (and drawing them all the time). They are so funny… one moment they are being funny, the next they are reserved. If you have place in your life for a pet, adopt one today!” — Designed by Karen Frolo from the United States.

How to Get a Google Featured Snippet with Your WordPress Site

Do you want to get a Google featured snippet with your WordPress site?

Featured snippets are the highlighted results for a Google search. Users are more likely to click on a featured snippet than a plain search result.

In this article, we will show you how to get a Google featured snippet with your WordPress site without any technical knowledge.

how to get Google featured snippets for your WordPress website

Here is a quick overview of things we’ll cover in this article:

What are Google Featured Snippets?

Google featured snippets are highlighted results that’s shown at the top of the page above position one that’s why they’re also known as position 0.

In the featured snippet, Google may display a search result in the Answer box or highlight it using microdata from your website.

For example, if Google thinks that your website will answers user’s question adequately, then it will appear on top with relevant text displayed as the description.

Answer box

Similarly, Google also uses Schema.org metadata to fetch important information from websites and display them in search results at the top. For example, if you search for a local business, then their relevant business information will be at the top.

Local search results preview

Featured snippets can enhance product pages for your online store, better showcase your recipes, highlight your real estate listings, and more.

Product results with ratings and reviews

The enhanced search display of featured snippets improves your organic click-through rate and brings more free traffic to your website.

This is why all smart business owners optimize their website, so they can have maximum chances of appearing as featured snippets in Google search.

That being said, let’s take a look at how to get Google featured snippets for your WordPress posts and pages.

Getting Google Featured Snippet using All in One SEO

Google uses Schema.org metadata and their knowledge graph API to display different types of featured snippets.

Schema markup is a special vocabulary that you can use in your content’s HTML code to give search engines more context about your website and individual pages.

In the early days, this used to be hard for small businesses because it involved a lot of coding.

But that’s not the case anymore, thanks to plugins like All in One SEO for WordPress.

It is the best WordPress SEO plugin on the market that’s used by over 2 million websites. They help you easily optimize your website for higher search engine rankings.

AIOSEO automatically adds Schema.org support which helps you provide information for Google Knowledge Graph. It has full WooCommerce SEO support, local SEO, images, news, video optimization, and more.

First, you need to install and activate the All in One SEO for WordPress plugin. For more details, see our step by step guide on how to install a WordPress plugin.

Upon activation, you’ll be asked to run the setup wizard. It is the easiest way to quickly select the best SEO settings for your website.

All in One SEO set up wizard

Need help with the setup? See our complete guide on how to install and set up All in One SEO for WordPress.

Now, if you have followed the setup wizard, the basic settings for your website to appear in featured snippets are already set.

But we’ll show you what they do and how to change them if you need to.

Setting up Knowledge Graph Information in WordPress

First, you need to visit All in One SEO » Search Appearance page and scroll down to the Knowledge Graph section.

Knowledge graph information

From here, you can tell the search engines who your website represents (i.e. An organization or an individual). After that, you can provide your business phone number, logo, and contact type information.

Don’t forget to click on the Save Changes button to store your settings.

Knowledge Graph information is used by search engines to display knowledge panels. These panels appear when someone searches for an organization or individual person.

Knowledge panels in Google Search

Adding Local Business Information to Featured Snippets

More than 40% of all searches on the internet have a local intent. Majority of these searches lead to sales as users are looking for directions and things to buy near them.

Many businesses and organizations have retail locations and offices that customers can visit.

You can add this information using All in One SEO and let search engines automatically display it in featured snippets.

Local search results preview

First, go to the All in One SEO » Local SEO page and activate the Local SEO feature.

Choose single or multiple locations

Upon activation, you can choose if your organization or business has multiple locations. If you do, then you can go ahead and start adding those locations otherwise you can scroll down to add your business information.

Business information

After that, switch to the Opening Hours tab to add your business hours.

Opening hours for your business

For more details, check out our article on how to add business hours in WordPress.

Finally, you need to connect and verify your business using Google My Business website. This gives you more control over your business’s appearance in Google search results and improves your chances appearing more often in featured snippets.

Add SEO Schema Markup in WordPress Posts / Pages

All in One SEO automatically adds the correct Schema markup for your content. However, you can review these settings and change them if needed.

Simply go to All in One SEO » Search Appeaerance page and switch to the content types tab. From here, you’ll see all your post types listed (posts, pages, products).

You need to click on the ‘Schema’ for a post type to change its default settings.

Default schema settings

What if you didn’t want to change schema type for all posts? Well, AIOSEO let’s you change Schema markup for individual posts, pages, and other post types as well.

Simply edit the post or page you want to change and scroll down to the AIOSEO settings box below the post editor.

Default schema settings

This feature is particularly useful for businesses that use Pages to sell products with or without using an Ecommerce plugins. You can then simply edit your product landing page and change its schema type to Product.

Changing any page schema to a product in WordPress

Another way to turn your search listing into a more enhanced featured snippet is by using Breadcrumb navigation.

Breadcrumb navigation tells users where they are on a website relative to the homepage. It is then displayed as a trail of links and would also appear in search results.

Breadcrumb navigation in search results

You can also display the breadcrumb navigation trail on your website. This allows users to go up and down, browse categories, and discover more products and content.

Breadcrumbs on a WooCommerce store product page

For search engines, All in One SEO automatically adds the required markup to your website’s HTML code. However, if you want to display breadcrumbs on your site too, then you can go to All in One SEO » General Settings page and switch to the Breadcrumbs tab.

Enable breadcrumbs display in All in One SEO

From here, you need to Enable Breadcrumbs and then use one of the available methods to display the links. For more details, check out our article on how to add breadcrumb navigation links in WordPress.

Get Site Links for WordPress in Google Search

Site Links are the additional links that Google may show below a particular search term. They usually appear for brand and website names, but they may appear for other types of searches as well.

Site Links

To get site links, you need to add your website to Google Search Console and submit your XML sitemap.

Add sitemap to Google Search Console

You can increase your chances of getting site links by creating a proper website structure. This includes adding all the important pages for your website and use categories to properly organize your website structure.

Appear in The Answer Box for Google Search

What’s better than ranking #1 for a keyword?

Ranking #0 in the answer box.

Answer boxes are the search results that appear on the top and Google considers them to be answering user’s search intent.

Answer box

Answer boxes have an average click-through rate of 32% which makes them highly lucrative. Particularly for keywords with a purchase intent Answer boxes can lead to sales and boost conversions.

The only way to appear in the answer boxes is to improve the quality of your content. Make sure it is comprehensive and answers users’ questions from different angles.

See our detailed tutorial on how to appear in the Google Answer boxes with your WordPress posts and pages.

We hope this tutorial helped you get featured snippets with your WordPress site. You may also want to see our guide on how to get more traffic to your website with proven tips, and our comparison of the best email marketing services.

If you liked this article, then please subscribe to our YouTube Channel for WordPress video tutorials. You can also find us on Twitter and Facebook.

The post How to Get a Google Featured Snippet with Your WordPress Site appeared first on WPBeginner.

How to quickly access lower ranking Google search results?

Most Google searches for common words usually result in a high number of hits.

As an example, I just typed in "love", and Google returned, "About 11,840,000,000 results (0.77 seconds)".

My bet is most end users see probably the first few pages at the most. That is, they would see the most popular, "relevant" results first; so, then, the first page might show the first 25 hits (1 to 25); and then the second page the next 25 hits (26 to 50); and this pagination process seems like it should continue up until the end of the results.

My question is, suppose you wanted results 10,000,000,026 to 10,000,000,050, how do you get them to show up without clicking the Gooooooogle pagination bar over and over and over until you get it to add up to the 10,000,000,026 result?