Thursday, 31 January 2019

Forms that Move With You with Wufoo

I've been into the idea of JAMstack lately. In fact, it was at the inaugural JAMstack_conf that I gave a talked called The All-Powerful Font-End Developer. My overall point there was that there are all these services that we can leverage as front-end developers to build complete websites without needing much help from other disciplines — if any at all.

Sometimes, the services we reach for these days are modern and fancy, like a real-time database solution with authentication capabilities. And sometimes those services help process forms. Speaking of which, a big thanks to Wufoo for so successfully being there for us front-end developers for so many years. Wufoo was one of my first tastes of being a powerful front-end developer. I can build and design a complex form super fast on Wufoo and integrate it onto any site in minutes. I've done it literally hundreds of times, including here on CSS-Tricks.

Another thing that I love about building Wufoo forms is that they travel so well. I use them all the time on my WordPress sites because I can copy and paste the embed code right onto any page. But say I moved that site off of traditional WordPress and onto something more JAMstacky (maybe even a static site that hits the WordPress API, whatevs). I could still simply embed my Wufoo form. A Wufoo form can literally be put on any type of site, which is awesome since you lose no data and don't change the experience at all when making a big move.

And, just in case you didn't know, Wufoo has robust read and write APIs, so Wufoo really can come with you wherever you go.

Try it Now

The post Forms that Move With You with Wufoo appeared first on CSS-Tricks.



from CSS-Tricks http://bit.ly/2G1y8sD
via IFTTT

The Many Ways to Change an SVG Fill on Hover (and When to Use Them)

Wednesday, 30 January 2019

Multiple Background Clip

You know how you can have multiple backgrounds?

body {
  background-image: 
    url(image-one.jpg),
    url(image-two.jpg);
}

That's just background-image. You can set their position too, as you might expect. We'll shorthand it:

body {
  background: 
    url(image-one.jpg) no-repeat top right,
    url(image-two.jpg) no-repeat bottom left;
}

I snuck background-repeat in there just for fun. Another one you might not think of setting for multiple different backgrounds, though, is background-clip. In this linked article, Stefan Judis notes that this unlocks some pretty legit CSS-Trickery!

Direct Link to ArticlePermalink

The post Multiple Background Clip appeared first on CSS-Tricks.



from CSS-Tricks http://bit.ly/2RWIssq
via IFTTT

The Importance of One-on-Ones

Tuesday, 29 January 2019

B2B Local Search Marketing: A Guide to Hidden Opportunity

Posted by MiriamEllis

Is a local business you’re marketing missing out on a host of B2B opportunities? Do B2B brands even qualify for local SEO?

If I say “B2B” and you think “tech,” then you’re having the same problem I was finding reliable information about local search marketing for business-to-business models. While it’s true that SaaS companies like Moz, MailChimp, and Hootsuite are businesses which vend to other businesses, their transactions are primarily digital. These may be the types of companies that make best-of B2B lists, but today let’s explore another realm in which a physical business you promote is eligible to be marketed both locally and as a B2B.

Let’s determine your eligibility, find your B2B opportunities, identify tips specific to your business model, analyze an outreach email, explore your content with a checklist, and find an advantage for you in today’s article.

Seeing how Google sees you

First to determine whether Google would view your brand as a local business, answer these two questions:

  1. Does the business I’m marketing have a physical location that’s accessible to the public? This can’t be a PO Box or virtual office. It must be a real-world address.
  2. Does the business I’m marketing interact face-to-face with its customers?

If you answered “yes” to both questions, continue, because you’ve just met Google’s local business guidelines.

Seeing your B2B opportunity

Next, determine if there’s a component of your business that already serves or could be created to serve other businesses.

Not totally sure? Let’s look at Google’s categories.

Out of the 2,395 Google My Business Categories listed here, there are at least 1,270 categories applicable to B2B companies. These include companies that are by nature B2B (wholesalers, suppliers) and companies that are B2C but could have a B2B offering (restaurants, event sites). In other words, more than half of Google’s categories signal to B2B-friendly companies that local marketing is an opportunity.

Let’s look at some major groups of categories and see how they could be fine-tuned to serve executive needs instead of only consumer needs:

Food establishments (restaurants, cafes, food trucks, caterers, etc.) can create relationships with nearby employers by offering business lunch specials, delivery, corporate catering, banquet rooms, and related B2B services. This can work especially well for restaurants located in large business districts, but almost any food-related business could create a corporate offering that incentivizes loyalty.

Major attractions (museums, amusements, cultural centers, sports centers, etc.) can create corporate packages for local employers seeking fun group activities. Brands looking to reduce implicit bias may be especially interested in interacting with cultural groups and events.

Professional services (realty, financial, printing, consulting, tech, etc.) can be geared towards corporate needs as well as individuals. A realtor can sell commercial properties. A printer can create business signage. A computer repair shop can service offices.

Personal services (counseling, wellness, fitness, skill training, etc.) can become corporate services when employers bring in outside experts to improve company morale, education, or well-being.



Home services (carpet cleaning, landscaping, plumbing, contracting, security, etc.) can become commercial services when offered to other businesses. Office buildings need design, remodeling, and construction and many have lounges, kitchens, restrooms, and grounds that need janitorial and upkeep services. Many retailers need these services, too.

Entertainers (comedians, musicians, DJs, performance troupes, etc.) can move beyond private events to corporate ones with special package offerings. Many brands have days where children, family members, and even pets are welcomed to the workplace, and special activities are planned.

Retailers (clothing, gifts, equipment, furniture, etc.) can find numerous ways to supply businesses with gear, swag, electronics, furnishings, gift baskets, uniforms, and other necessities. For example, a kitchen store could vend breakfast china to a B&B, or an electronics store could offer special pricing for a purchase of new computers for an office.

Transportation and travel services (auto sales and maintenance, auto rentals, travel agencies, tour guides, charging stations, etc.) can create special packages for businesses. A car dealer could sell a fleet of vehicles to a food delivery service, or a garage could offer special pricing for maintaining food trucks. A travel agency could manage business trips.

As you can see, the possibilities are substantial, and this is all apart from businesses that are classic B2B models, like manufacturers, suppliers, and wholesalers who also have physical premises and meet face-to-face with their clients. See if you’ve been missing out on a lucrative opportunity by examining the following spreadsheet of every Google My Business Category I could find that is either straight-up B2B or could create a B2B offering:

See local B2B categories

The business I’m marketing qualifies. What’s next?

See which of these two groups you belong to: either a B2B company that hasn’t been doing local SEO, or a local business that hasn’t created a B2B offering yet. Then follow the set of foundational tips specific to your scenario.

If you’re marketing a B2B company that hasn’t been doing local SEO:

  1. Know that the goal of local SEO is to make you as visible as possible online to any neighbor searching for what you offer so that you can win as many transactions as possible.
  2. Read the Guidelines for Representing your business on Google to be 100% sure your business qualifies and to familiarize yourself with Google’s rules. Google is the dominant player in local search.
  3. Make sure your complete, accurate name, address, and phone number is included in the footer of your website and on the Contact Us page. If you have multiple locations, create a unique page on your website for each location, complete with its full contact information and useful text for website visitors. Make each of these pages as unique and persuasive as possible.
  4. Be sure the content on your website thoroughly describes your goods and services, and makes compelling offers about the value of choosing you.
  5. Make sure your website is friendly to mobile users. If you’re not sure, test it using Google’s free mobile-friendly test.
  6. Create a Google My Business profile for your business if you don’t already have one so that you can work towards ranking well in Google’s local results. If you do have a profile, be sure it is claimed, accurate, guideline-compliant and fully filled out. This cheat sheet guide explains all of the common components that can show up in your Google Business Profile when people search for your company by name.
  7. Do a free check of the health of your other major local business listings on Moz Check Listing. Correct errors and duplicate listings manually, or to save time and enable ongoing monitoring, purchase Moz Local so that it can do the work for you. Accurate local business listings support good local rankings and prevent customers from being misdirected and inconvenience.
  8. Ask for, monitor, and respond to all of your Google reviews to improve customer satisfaction and build a strong, lucrative reputation. Read the guidelines of any other platform (like Yelp or TripAdvisor) to know what is allowed in terms of review management.
  9. Build real-world relationships within the community you serve and explore them for opportunities to earn relevant links to your website. Strong, sensible links can help you increase both your organic and local search engine rankings. Join local business organizations and become a community advocate.
  10. Be as accessible as possible via social media, sharing with your community online in the places they typically socialize. Emphasize communication rather than selling in this environment.

If you’re marketing a local business that hasn’t created a B2B offering yet:

  1. Research your neighborhood and your community to determine what kinds of businesses are present around you. If you’re not sure, reach out to your local Chamber of Commerce or a local business association like AMIBA to see if they have data they can share with you. Doing searches like “Human Resources Event Seattle” or “People Ops Event Seattle” can bring up results like this one naming some key companies and staffers.
  2. Document your research. Create a spreadsheet with a column for why you feel a specific business might be a good fit for your service, and another column for their contact information.See if you can turn up direct contact info for the HR or People Ops team. Phone the business, if necessary, to acquire this information.
  3. Now, based on what you’ve learned, brainstorm an offering that might be appealing to this audience. Remember, you’re trying to entice other business owners and their staff with something that’s special for them and meets their needs..
  4. Next, write out your offering in as few words at possible, including all salient points (who you are, what you offer, why it solves a problem the business is likely to have, available proof of problem-solving, price range, a nice request to discuss further, and your complete contact info). Keep it short to respect how busy recipients are.
  5. Depending on your resources, plan outreach in manageable batches and keep track of outcomes.
  6. Be sure all of your online local SEO is representing you well, with the understanding that anyone seriously considering your offer is likely to check you out on the web. Be sure you’ve created a page on the site for your B2B offer. Be sure your website is navigable, optimized and persuasive, with clear contact information, and that your local business listings are accurate and thorough — hopefully with an abundance of good reviews to which you’ve gratefully responded.
  7. Now, begin outreach. In many cases this will be via email, using the text you’ve created, but if you’ve determined that an in-person visit is a better approach, invest a little in having your offer printed nicely so that you can give it to the staff at the place of business. Make the best impression you possibly can as a salesperson for your product.
  8. Give a reasonable amount of time for the business to review and decide on your offer. If you don’t hear back, follow up once. Ideally, you’re hoping for a reply with a request for more info. If you hear nothing in response to your follow-up, move on, as silence from the business is a signal of disinterest. Make note of the dates you outreached and try again after some time goes by, as things may have changed at the business by then. Do, however, avoid aggressive outreach as your business will appear to be spamming potential clients instead of helping them.

As indicated, these are foundational steps for both groups — the beginnings of your strategy rather than the ultimate lengths you may need to go to for your efforts to fully pay off. The amount of work you need to do depends largely on the level of your local competition.

B2B tips from Moz’s own Team Happy

Moz’s People Ops team is called Team Happy, and these wonderful folks handle everything from event and travel planning, to gift giving, to making sure people’s parking needs are met. Team Happy is responsible for creating an exceptional, fun, generous environment that functions smoothly for all Mozzers and visitors.

I asked Team Happy Manager of Operations, Ashlie Daulton, to share some tips for crafting successful B2B outreach when approaching a business like Moz. Ashlie explains:

  • We get lots of inquiry emails. Do some research into our company, help us see what we can benefit from, and how we can fit it in. We don't accept every offer, but we try to stay open to exploring whether it's a good fit for the office.
  • The more information we can get up front, the better! We are super busy in our day-to-day and we can get a lot of spam sometimes, so it can be hard to take vague email outreach seriously and not chalk it up to more spam. Be real, be direct in your outreach. Keeping it more person-to-person and less "sales pitchy" is usually key.
  • If we can get most of the information we need first, research the website/offers, and communicate our questions through emails until we feel a call is a good next step, that usually makes a good impression.

Finally, Ashlie let me know that her team comes to decisions thoughtfully, as will the People Ops folks at any reputable company. If your B2B outreach doesn’t meet with acceptance from a particular company, it would be a waste of your time and theirs to keep contacting them.

However, as mentioned above, a refusal one year doesn’t mean there couldn’t be opportunity at a later date if the company’s needs or your offer change to be a better fit. You may need to go through some refinements over the years, based on the feedback you receive and analyze, until you’ve got an offer that’s truly irresistible.

A sample B2B outreach email

La práctica hace al maestro.”
- Proverb

Practice makes perfect. Let’s do an exercise together in which we imagine ourselves running an awesome Oaxacan restaurant in Seattle that wants to grow the B2B side of our business. Let’s hypothesize that we’ve decided Moz would be a perfect client, and we’ve spent some time on the web learning about them. We’ve looked at their website, their blog, and have read some third-party news about the company.

We found an email address for Team Happy and we’ve crafted our outreach email. What follows is that email + Ashlie’s honest, summarized feedback to me (detailed below) about how our fictitious outreach would strike her team:

Good morning, Team Happy!

When was the last time Moz's hardworking staff was treated to tacos made from grandmother's own authentic recipe? I'm your neighbor Jose Morales, co-owner with my abuela of Tacos Morales, just down the street from you. Our Oaxacan-style Mexican food is:

- Locally sourced and prepared with love in our zero-waste kitchen
- 100% organic (better for Mozzers' brains and happiness!) with traditional, vegan, and gluten-free options
- $6–$9 per plate

We know you have to feed tons of techies sometimes, and we can effortlessly cater meals of up to 500 Mozzers. The folks at another neighboring company, Zillow, say this about our beautiful food:

"The best handmade tortillas we've ever had. Just the right portions to feel full, but not bogged down for the afternoon's workload. Perfect for corporate lunches and magically scrumptious!"

May I bring over a complimentary taco basket for a few of your teammates to try? Check out our menu here and please let me know if there would be a good day for you to sample the very best of Taco Morales. Thank you for your kind consideration and I hope I get the chance to personally make Team Happy even happier!

Your neighbors,
Jose y Lupita Morales
Tacos Morales
www.tacosmorales.com
222 2nd Street, Seattle – (206) 111-1111

Why this email works:

  • We're an inclusive office, so the various dietary options catch our eye. Knowing price helps us decide if it's a good fit for our budget.
  • The reference to tech feels personalized — they know our team and who we work with.
  • It's great to know they can handle some larger events!
  • It instills trust to see a quote from a nearby, familiar company.
  • Samples are a nice way to get to know the product/service and how it feels to work with the B2B company.
  • The menu link, website link, and contact info ensure that we can do our own exploring to help us make a decision.

As the above outreach illustrates, Team Happy was most impressed by the elements of our sample email that provided key information about variety, price and capacity, useful links and contact data, trust signals in the form of a review from a well-known client, and a one-on-one personalized message.

Your business is unique, and the precise tone of your email will match both your company culture and the sensibilities of your potential clients. Regardless of industry, studying the above communication will give you some cues for creating your own from the viewpoint of speaking personally to another business with their needs in mind. Why not practice writing an email of your own today, then run it past an unbiased acquaintance to ask if it would persuade them to reply?

A checklist to guide your website content

Your site content speaks for you when a potential client wants to research you further before communicating one-on-one. Why invest both budget and heart in what you publish? Because 94% of B2B buyers reportedly conduct online investigation before purchasing a business solution. Unfortunately, the same study indicates that only 37% of these buyers are satisfied with the level of information provided by suppliers’ websites. Do you see a disconnect here?

Let’s look at the key landing pages of your website today and see how many of these boxes you can check off:

My content tells potential clients...

☑ What my business name, addresses, phone numbers, fax number, email addresses, driving directions, mapped locations, social and review profiles are

☑ What my products and services are and why they meet clients’ needs

☑ The complete details of my special offers for B2B clients, including my capacity for fulfillment

☑ What my pricing is like, so that I’m getting leads from qualified clients without wasting anyone’s time

☑ What my USP is — what makes my selling proposition unique and a better choice than my local competitors

☑ What my role is as a beneficial member of the local business community and the human community, including my professional relationships, philanthropy, sustainable practices, accreditations, awards, and other points of pride

☑ What others say about my company, including reviews and testimonials

☑ What my clients’ rights and guarantees are

☑ What value I place on my clients, via the quality, usefulness, and usability of my website and its content

If you found your content lacking any of these checklist elements, budget to build them. If writing is not your strong suit and your company isn’t large enough to have an in-house content team, hire help. A really good copywriter will partner up to tell the story of your business while also accurately portraying its unique voice. Expect to be deeply interviewed so that a rich narrative can emerge.

In sum, you want your website to be doing the talking for you 24 hours a day so that every question a potential B2B client has can be confidently answered, prompting the next step of personal outreach.

How to find your B2B advantage

Earlier, we spoke of the research you’ll do to analyze the business community you could be serving with your B2B offerings, and we covered how to be sure you’ve got the local digital marketing basics in place to showcase what you do on the web. Depending on your market, you could find that investment in either direction could represent an opportunity many of your competitors have overlooked.

For an even greater advantage, though, let’s look directly at your competitors. You can research them by:

  1. Visiting their websites to understand their services, products, pricing, hours, capacity, USP, etc.
  2. Visiting their physical premises, making inquiries by phone, or (if possible) making a purchase of their products/services to see how you like them and if there’s anything that could be done better
  3. Reading their negative reviews to see what their customers complain about
  4. Looking them up on social media, again to see what customers say and how the brand handles complaints
  5. Reading both positive and negative media coverage of the brand

Do you see any gaps? If you can dare to be different and fill them, you will have identified an important advantage. Perhaps you’ll be the only:

  • Commercial cleaning company in town that specializes in servicing the pet-friendly hospitality market
  • Restaurant offering a particular type of cuisine at scale
  • Major attraction with appealing discounts for large groups
  • Commercial printer open late at night for rush jobs
  • Yoga instructor specializing in reducing work-related stress/injuries

And if your city is large and highly competitive and there aren’t glaring gaps in available services, try to find a gap in service quality. Maybe there are several computer repair shops, but yours is the only one that works weekends. Maybe there are a multitude of travel agents, but your eco-tourism packages for corporations have won major awards. Maybe yours is just one of 400+ Chinese restaurants in San Francisco, but the only one to throw in a free bag of MeeMee’s sesame and almond cookies (a fortune cookie differentiator!) with every office delivery, giving a little uplift to hardworking staff.

Find your differentiator, put it in writing, put it to the fore of your sales process. And engineer it into consumer-centric language, so that hard candy buttons with chocolate inside them become the USP that “melts in your mouth, not in your hands,” solving a discovered pain point or need.

B2B marketing boils down to service

“No one is useless in this world who lightens the burdens of another.”
- Charles Dickens

We’re all in business to serve. We’re all helpers. At Moz, we make SEO easier for digital and local companies. At your brand, _________?

However you fill in that blank, you're in the business of service. Whether you’re marketing a B2B that’s awakening to the need to invest in local SEO or a B2C on the verge of debuting your new business-to-business offering, your project boils down to the simple question,

“How can I help?”

Looking thoughtfully into your brand’s untapped capacities to serve your community, coupled with an authentic desire to help, is the best groundwork you can lay at the starting point for satisfaction at the finish line.


Sign up for The Moz Top 10, a semimonthly mailer updating you on the top ten hottest pieces of SEO news, tips, and rad links uncovered by the Moz team. Think of it as your exclusive digest of stuff you don't have time to hunt down but want to read!



from The Moz Blog http://bit.ly/2B9qYyC
via IFTTT

Slide an Image to Reveal Text with CSS Animations

I want to take a closer look at the CSS animation property and walk through an effect that I used on my own portfolio website: making text appear from behind a moving object. Here’s an isolated example if you’d like to see the final product.

Here’s what we're going to work with:

See the Pen
Revealing Text Animation Part 4 - Responsive
by Jesper Ekstrom (@jesper-ekstrom)
on CodePen.

Even if you’re not all that interested in the effect itself, this will be an excellent exercise to expand your CSS knowledge and begin creating unique animations of your own. In my case, digging deep into animation helped me grow more confident in my CSS abilities and increased my creativity, which got me more interested in front-end development as a whole.

Ready? Set. Let’s go!

Step 1: Markup the main elements

Before we start with the animations, let's create a parent container that covers the full viewport. Inside it, we're adding the text and the image, each in a separate div so it’s easier to customize them later on. The HMTL markup will look like this:

<!-- The parent container -->
<div class="container"> 
  <!-- The div containing the image -->
  <div class="image-container">
  <img src="https://jesperekstrom.com/wp-content/uploads/2018/11/Wordpress-folder-purple.png" alt="wordpress-folder-icon">
  </div>
  <!-- The div containing the text that's revealed -->
  <div class="text-container">
    <h1>Animation</h1>
  </div>
</div>

We are going to use this trusty transform trick to make the divs center both vertically and horizontally with a position: absolute; inside our parent container, and since we want the image to display in front of the text, we're adding a higher z-index value to it.

/* The parent container taking up the full viewport */
.container {
  width: 100%;
  height: 100vh;
  display: block;
  position: relative;
  overflow: hidden;
}

/* The div that contains the image  */
/* Centering trick: https://css-tricks.com/centering-percentage-widthheight-elements/ */
.image-container {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%,-50%);
  z-index: 2; /* Makes sure this is on top */
}

/* The image inside the first div */
.image-container img {
  -webkit-filter: drop-shadow(-4px 5px 5px rgba(0,0,0,0.6));
  filter: drop-shadow(-4px 5px 5px rgba(0,0,0,0.6));
  height: 200px;
}

/* The div that holds the text that will be revealed */
/* Same centering trick */
.text-container {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%,-50%);
  z-index: 1; /* Places this below the image container */
  margin-left: -100px;
}

We're leaving vendor prefixes out the code examples throughout this post, but they should definitely be considered if using this in production environment.

Here’s what that gives us so far, which is basically our two elements stacked one on top of the other.

See the Pen
Revealing Text Animation Part 1 - Mail Elements
by Jesper Ekstrom (@jesper-ekstrom)
on CodePen.

Step 2: Hide the text behind a block

To make our text start displaying from left to right, we need to add another div inside our .text-container:

<!-- ... -->

  <!-- The div containing the text that's revealed -->
  <div class="text-container">
    <h1>Animation</h1>
    <div class="fading-effect"></div>
  </div>
  
<!-- ... -->

...and add these CSS properties and values to it:

.fading-effect {
  position: absolute;
  top: 0;
  bottom: 0;
  right: 0;
  width: 100%;
  background: white;
}

As you can see, the text is hiding behind this block now, which has a white background color to blend in with our parent container.

If we try changing the width of the block, the text starts to appear. Go ahead and try playing with it in the Pen:

See the Pen
Revealing Text Animation Part 2 - Hiding Block
by Jesper Ekstrom (@jesper-ekstrom)
on CodePen.

There is another way of making this effect without adding an extra block with a background over it. I will cover that method later in the article. 🙂

Step 3: Define the animation keyframes

We are now ready for the fun stuff! To start animating our objects, we're going to make use of the animation property and its @keyframes function. Let’s start by creating two different @keyframes, one for the image and one for the text, which will end up looking like this:

/* Slides the image from left (-250px) to right (150px) */
@keyframes image-slide {
  0% { transform: translateX(-250px) scale(0); }
  60% { transform: translateX(-250px) scale(1); }
  90% { transform: translateX(150px) scale(1); }
  100% { transform: translateX(150px) scale(1); }  
}

/* Slides the text by shrinking the width of the object from full (100%) to nada (0%) */
@keyframes text-slide {
  0% { width: 100%; }
  60% { width: 100%; }
  75%{ width: 0; }
  100% { width: 0; }
}

I prefer to add all @keyframes on the top of my CSS file for a better file structure, but it’s just a preference.

The reason why the @keyframes only use a small portion of their percent value (mostly from 60-100%) is that I have chosen to animate both objects over the same duration instead of adding an animation-delay to the class it’s applied to. That’s just my preference. If you choose to do the same, keep in mind to always have a value set for 0% and 100%; otherwise the animation can start looping backward or other weird interactions will pop up.

To enable the @keyframes to our classes, we’ll call the animation name on the CSS property animation. So, for example, adding the image-slide animation to the image element, we’d do this:

.image-container img {
  /* [animation name] [animation duration] [animation transition function] */
  animation: image-slide 4s cubic-bezier(.5,.5,0,1);
}

The name of the @keyframes works the same as creating a class. In other words the name doesn’t really matter as long as it’s called the same on the element where it’s applied.

If that cubic-bezier part causes head scratching, then check out this post by Michelle Barker. She covers the topic in depth. For the purposes of this demo, though, it’s suffice to say that it is a way to create a custom animation curve for how the object moves from start to finish. The site cubic-bezier.com is a great place to generate those values without all the guesswork.

We talked a bit about wanting to avoid a looping animation. We can force the object to stay put once the animation reaches 100% with the animation-fill-mode sub-property:

.image-container img {
  animation: image-slide 4s cubic-bezier(.5,.5,0,1);
  animation-fill-mode: forwards;
}

So far, so good!

See the Pen
Revealing Text Animation Part 3 - @keyframes
by Jesper Ekstrom (@jesper-ekstrom)
on CodePen.

Step 4: Code for responsiveness

Since the animations are based on fixed (pixels) sizing, playing the viewport width will cause the elements to shift out of place, which is a bad thing when we’re trying to hide and reveal elements based on their location. We could create multiple animations on different media queries to handle it (that’s what I did at first), but it’s no fun managing several animations at once. Instead, we can use the same animation and change its properties at specific breakpoints.

For example:

@keyframes image-slide {
  0% { transform: translatex(-250px) scale(0); }
  60% { transform: translatex(-250px) scale(1); }
  90% { transform: translatex(150px) scale(1); }
  100% { transform: translatex(150px) scale(1); }
}

/* Changes animation values for viewports up to 1000px wide */
@media screen and (max-width: 1000px) {
  @keyframes image-slide {
    0% { transform: translatex(-150px) scale(0); }
    60% { transform: translatex(-150px) scale(1); }
    90% { transform: translatex(120px) scale(1); }
    100% { transform: translatex(120px) scale(1); }
  }
}

Here we are, all responsive!

See the Pen
Revealing Text Animation Part 4 - Responsive
by Jesper Ekstrom (@jesper-ekstrom)
on CodePen.

Alternative method: Text animation without colored background

I promised earlier that I’d show a different method for the fade effect, so let’s touch on that.

Instead of using creating a whole new div — <div class="fading-effect"> — we can use a little color trickery to clip the text and blend it into the background:

.text-container {
  background: black;
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
}

This makes the text transparent which allows the background color behind it to bleed in and effectively hide it. And, since this is a background, we can change the background width and see how the text gets cut by the width it’s given. This also makes it possible to add linear gradient colors to the text or even a background image display inside it.

The reason I didn't go this route in the demo is because it isn't compatible with Internet Explorer (note those -webkit vendor prefixes). The method we covered in the actual demo makes it possible to switch out the text for another image or any other object.


Pretty neat little animation, right? It’s relatively subtle and acts as a nice enhancement to UI elements. For example, I could see it used to reveal explanatory text or even photo captions. Or, a little JavaScript could be used to fire the animation on click or scroll position to make things a little more interactive.

Have questions about how any of it works? See something that could make it better? Let me know in the comments!

The post Slide an Image to Reveal Text with CSS Animations appeared first on CSS-Tricks.



from CSS-Tricks http://bit.ly/2DGG5kU
via IFTTT

Designing for the web ought to mean making HTML and CSS

David Heinemeier Hansson has written an interesting post about the current state of web design and how designers ought to be able to still work on the code side of things:

We build using server-side rendering, Turbolinks, and Stimulus. All tools that are approachable and realistic for designers to adopt, since the major focus is just on HTML and CSS, with a few sprinkles of JavaScript for interactivity.

And it’s not like it’s some well kept secret! In fact, every single framework we’ve created at Basecamp that allows designers to work this way has been open sourced. The calamity of complexity that the current industry direction on JavaScript is unleashing upon designers is of human choice and design. It’s possible to make different choices and arrive at different designs.

I like this sentiment a whole lot — not every company needs to build their websites the same way. However, I don’t think that the approach that Basecamp has taken would scale to the size of a much larger organization. David continues:

Also not interested in retreating into the idea that you need a whole team of narrow specialists to make anything work. That “full-stack” is somehow a point of derision rather than self-sufficiency. That designers are so overburdened with conceptual demands on their creativity that they shouldn’t be bordered or encouraged to learn how to express those in the native materials of the web. Nope. No thanks!

Designing for the modern web in a way that pleases users with great, fast designs needn’t be this maze of impenetrable complexity. We’re making it that! It’s possible not to.

Again, I totally agree with David’s sentiment as I don’t think there’s anyone in the field who really wants to make the tools we use to build websites overly complicated; but in this instance, I tend to agree with what Nicolas recently had to say on this matter:

The interesting thing to note here is that the act of front-end development changes based on the size and scale of the organization. As with all arguments in front-end development, there is no “right” way! Our work has to adapt to the problems that we’re trying to solve. Is a large, complex React front-end useful for Basecamp? Maybe not. But for some organizations, like mine at Gusto, we have to specialize in certain areas because the product that we’re working on is so complicated.

I guess what I also might be rambling about is that I don’t think it’s engineers that are making front-end development complicated — perhaps it’s the expectations of our users.

Direct Link to ArticlePermalink

The post Designing for the web ought to mean making HTML and CSS appeared first on CSS-Tricks.



from CSS-Tricks http://bit.ly/2HDjBp0
via IFTTT

Monday, 28 January 2019

Rewriting the Beginner's Guide to SEO, Chapter 6: Link Building & Establishing Authority

Posted by BritneyMuller

In Chapter 6 of the new Beginner's Guide to SEO, we'll be covering the dos and don'ts of link building and ways your site can build its authority. If you missed them, we've got the drafts of our outline, Chapter One, Chapter Two, Chapter Three, Chapter Four, and Chapter Five for your reading pleasure. Be sure to let us know what you think of Chapter 6 in the comments!


Chapter 6: Link Building & Establishing Authority

Turn up the volume.

You've created content that people are searching for, that answers their questions, and that search engines can understand, but those qualities alone don't mean it'll rank. To outrank the rest of the sites with those qualities, you have to establish authority. That can be accomplished by earning links from authoritative websites, building your brand, and nurturing an audience who will help amplify your content.

Google has confirmed that links and quality content (which we covered back in Chapter 4) are two of the three most important ranking factors for SEO. Trustworthy sites tend to link to other trustworthy sites, and spammy sites tend to link to other spammy sites. But what is a link, exactly? How do you go about earning them from other websites? Let's start with the basics.

What are links?

Inbound links, also known as backlinks or external links, are HTML hyperlinks that point from one website to another. They're the currency of the Internet, as they act a lot like real-life reputation. If you went on vacation and asked three people (all completely unrelated to one another) what the best coffee shop in town was, and they all said, "Cuppa Joe on Main Street," you would feel confident that Cuppa Joe is indeed the best coffee place in town. Links do that for search engines.

Since the late 1990s, search engines have treated links as votes for popularity and importance on the web.

Internal links, or links that connect internal pages of the same domain, work very similarly for your website. A high amount of internal links pointing to a particular page on your site will provide a signal to Google that the page is important, so long as it's done naturally and not in a spammy way.

The engines themselves have refined the way they view links, now using algorithms to evaluate sites and pages based on the links they find. But what's in those algorithms? How do the engines evaluate all those links? It all starts with the concept of E-A-T.

You are what you E-A-T

Google's Search Quality Rater Guidelines put a great deal of importance on the concept of E-A-T — an acronym for expert, authoritative, and trustworthy. Sites that don't display these characteristics tend to be seen as lower-quality in the eyes of the engines, while those that do are subsequently rewarded. E-A-T is becoming more and more important as search evolves and increases the importance of solving for user intent.

Creating a site that's considered expert, authoritative, and trustworthy should be your guiding light as you practice SEO. Not only will it simply result in a better site, but it's future-proof. After all, providing great value to searchers is what Google itself is trying to do.

E-A-T and links to your site

The more popular and important a site is, the more weight the links from that site carry. A site like Wikipedia, for example, has thousands of diverse sites linking to it. This indicates it provides lots of expertise, has cultivated authority, and is trusted among those other sites.

To earn trust and authority with search engines, you'll need links from websites that display the qualities of E-A-T. These don't have to be Wikipedia-level sites, but they should provide searchers with credible, trustworthy content.

  • Tip: Moz has proprietary metrics to help you determine how authoritative a site is: Domain Authority, Page Authority, and Spam Score. In general, you'll want links from sites with a higher Domain Authority than your sites.

Followed vs. nofollowed links

Remember how links act as votes? The rel=nofollow attribute (pronounced as two words, "no follow") allows you to link to a resource while removing your "vote" for search engine purposes.

Just like it sounds, "nofollow" tells search engines not to follow the link. Some engines still follow them simply to discover new pages, but these links don't pass link equity (the "votes of popularity" we talked about above), so they can be useful in situations where a page is either linking to an untrustworthy source or was paid for or created by the owner of the destination page (making it an unnatural link).

Say, for example, you write a post about link building practices, and want to call out an example of poor, spammy link building. You could link to the offending site without signaling to Google that you trust it.

Standard links (ones that haven't had nofollow added) look like this:

<a href="https://moz.com">I love Moz</a>

Nofollow link markup looks like this:

<a href="https://moz.com" rel="nofollow">I love Moz</a>

If follow links pass all the link equity, shouldn't that mean you want only follow links?

Not necessarily. Think about all the legitimate places you can create links to your own website: a Facebook profile, a Yelp page, a Twitter account, etc. These are all natural places to add links to your website, but they shouldn't count as votes for your website. (Setting up a Twitter profile with a link to your site isn't a vote from Twitter that they like your site.)

It's natural for your site to have a balance between nofollowed and followed backlinks in its link profile (more on link profiles below). A nofollow link might not pass authority, but it could send valuable traffic to your site and even lead to future followed links.

  • Tip: Use the MozBar extension for Google Chrome to highlight links on any page to find out whether they're nofollow or follow without ever having to view the source code!

Your link profile

Your link profile is an overall assessment of all the inbound links your site has earned: the total number of links, their quality (or spamminess), their diversity (is one site linking to you hundreds of times, or are hundreds of sites linking to you once?), and more. The state of your link profile helps search engines understand how your site relates to other sites on the Internet. There are various SEO tools that allow you to analyze your link profile and begin to understand its overall makeup.

How can I see which inbound links point to my website?

Visit Moz Link Explorer and type in your site's URL. You'll be able to see how many and which websites are linking back to you.

What are the qualities of a healthy link profile?

When people began to learn about the power of links, they began manipulating them for their benefit. They'd find ways to gain artificial links just to increase their search engine rankings. While these dangerous tactics can sometimes work, they are against Google's terms of service and can get a website deindexed (removal of web pages or entire domains from search results). You should always try to maintain a healthy link profile.

A healthy link profile is one that indicates to search engines that you're earning your links and authority fairly. Just like you shouldn't lie, cheat, or steal, you should strive to ensure your link profile is honest and earned via your hard work.

Links are earned or editorially placed

Editorial links are links added naturally by sites and pages that want to link to your website.

The foundation of acquiring earned links is almost always through creating high-quality content that people genuinely wish to reference. This is where creating 10X content (a way of describing extremely high-quality content) is essential! If you can provide the best and most interesting resource on the web, people will naturally link to it.

Naturally earned links require no specific action from you, other than the creation of worthy content and the ability to create awareness about it.

  • Tip: Earned mentions are often unlinked! When websites are referring to your brand or a specific piece of content you've published, they will often mention it without linking to it. To find these earned mentions, use Moz's Fresh Web Explorer. You can then reach out to those publishers to see if they'll update those mentions with links.

Links are relevant and from topically similar websites

Links from websites within a topic-specific community are generally better than links from websites that aren't relevant to your site. If your website sells dog houses, a link from the Society of Dog Breeders matters much more than one from the Roller Skating Association. Additionally, links from topically irrelevant sources can send confusing signals to search engines regarding what your page is about.

  • Tip: Linking domains don't have to match the topic of your page exactly, but they should be related. Avoid pursuing backlinks from sources that are completely off-topic; there are far better uses of your time.

Anchor text is descriptive and relevant, without being spammy

Anchor text helps tell Google what the topic of your page is about. If dozens of links point to a page with a variation of a word or phrase, the page has a higher likelihood of ranking well for those types of phrases. However, proceed with caution! Too many backlinks with the same anchor text could indicate to the search engines that you're trying to manipulate your site's ranking in search results.

Consider this. You ask ten separate friends at separate times how their day was going, and they each responded with the same phrase:

"Great! I started my day by walking my dog, Peanut, and then had a picante beef Top Ramen for lunch."

That's strange, and you'd be quite suspicious of your friends. The same goes for Google. Describing the content of the target page with the anchor text helps them understand what the page is about, but the same description over and over from multiple sources starts to look suspicious. Aim for relevance; avoid spam.

  • Tip: Use the "Anchor Text" report in Moz's Link Explorer to see what anchor text other websites are using to link to your content.

Links send qualified traffic to your site

Link building should never be solely about search engine rankings. Esteemed SEO and link building thought leader Eric Ward used to say that you should build your links as though Google might disappear tomorrow. In essence, you should focus on acquiring links that will bring qualified traffic to your website — another reason why it's important to acquire links from relevant websites whose audience would find value in your site, as well.

  • Tip: Use the "Referral Traffic" report in Google Analytics to evaluate websites that are currently sending you traffic. How can you continue to build relationships with similar types of websites?

Link building don'ts & things to avoid

Spammy link profiles are just that: full of links built in unnatural, sneaky, or otherwise low-quality ways. Practices like buying links or engaging in a link exchange might seem like the easy way out, but doing so is dangerous and could put all of your hard work at risk. Google penalizes sites with spammy link profiles, so don't give in to temptation.

A guiding principle for your link building efforts is to never try to manipulate a site's ranking in search results. But isn't that the entire goal of SEO? To increase a site's ranking in search results? And herein lies the confusion. Google wants you to earn links, not build them, but the line between the two is often blurry. To avoid penalties for unnatural links (known as "link spam"), Google has made clear what should be avoided.

Purchased links

Google and Bing both seek to discount the influence of paid links in their organic search results. While a search engine can't know which links were earned vs. paid for from viewing the link itself, there are clues it uses to detect patterns that indicate foul play. Websites caught buying or selling followed links risk severe penalties that will severely drop their rankings. (By the way, exchanging goods or services for a link is also a form of payment and qualifies as buying links.)

Link exchanges / reciprocal linking

If you've ever received a "you link to me and I'll link you you" email from someone you have no affiliation with, you've been targeted for a link exchange. Google's quality guidelines caution against "excessive" link exchange and similar partner programs conducted exclusively for the sake of cross-linking, so there is some indication that this type of exchange on a smaller scale might not trigger any link spam alarms.

It is acceptable, and even valuable, to link to people you work with, partner with, or have some other affiliation with and have them link back to you.

It's the exchange of links at mass scale with unaffiliated sites that can warrant penalties.

Low-quality directory links

These used to be a popular source of manipulation. A large number of pay-for-placement web directories exist to serve this market and pass themselves off as legitimate, with varying degrees of success. These types of sites tend to look very similar, with large lists of websites and their descriptions (typically, the site's critical keyword is used as the anchor text to link back to the submittor's site).

There are many more manipulative link building tactics that search engines have identified. In most cases, they have found algorithmic methods for reducing their impact. As new spam systems emerge, engineers will continue to fight them with targeted algorithms, human reviews, and the collection of spam reports from webmasters and SEOs. By and large, it isn't worth finding ways around them.

If your site does get a manual penalty, there are steps you can take to get it lifted.

How to build high-quality backlinks

Link building comes in many shapes and sizes, but one thing is always true: link campaigns should always match your unique goals. With that said, there are some popular methods that tend to work well for most campaigns. This is not an exhaustive list, so visit Moz's blog posts on link building for more detail on this topic.

Find customer and partner links

If you have partners you work with regularly, or loyal customers that love your brand, there are ways to earn links from them with relative ease. You might send out partnership badges (graphic icons that signify mutual respect), or offer to write up testimonials of their products. Both of those offer things they can display on their website along with links back to you.

Publish a blog

This content and link building strategy is so popular and valuable that it's one of the few recommended personally by the engineers at Google. Blogs have the unique ability to contribute fresh material on a consistent basis, generate conversations across the web, and earn listings and links from other blogs.

Careful, though — you should avoid low-quality guest posting just for the sake of link building. Google has advised against this and your energy is better spent elsewhere.

Create unique resources

Creating unique, high quality resources is no easy task, but it's well worth the effort. High quality content that is promoted in the right ways can be widely shared. It can help to create pieces that have the following traits:

Creating a resource like this is a great way to attract a lot of links with one page. You could also create a highly-specific resource — without as broad of an appeal — that targeted a handful of websites. You might see a higher rate of success, but that approach isn't as scalable.

Users who see this kind of unique content often want to share it with friends, and bloggers/tech-savvy webmasters who see it will often do so through links. These high quality, editorially earned votes are invaluable to building trust, authority, and rankings potential.

Build resource pages

Resource pages are a great way to build links. However, to find them you'll want to know some Advanced Google operators to make discovering them a bit easier.

For example, if you were doing link building for a company that made pots and pans, you could search for: cooking intitle:"resources" and see which pages might be good link targets.

This can also give you great ideas for content creation — just think about which types of resources you could create that these pages would all like to reference/link to.

Get involved in your local community

For a local business (one that meets its customers in person), community outreach can result in some of the most valuable and influential links.

  • Engage in sponsorships and scholarships.
  • Host or participate in community events, seminars, workshops, and organizations.
  • Donate to worthy local causes and join local business associations.
  • Post jobs and offer internships.
  • Promote loyalty programs.
  • Run a local competition.
  • Develop real-world relationships with related local businesses to discover how you can team up to improve the health of your local economy.

All of these smart and authentic strategies provide good local link opportunities.

Refurbish top content

You likely already know which of your site's content earns the most traffic, converts the most customers, or retains visitors for the longest amount of time.

Take that content and refurbish it for other platforms (Slideshare, YouTube, Instagram, Quora, etc.) to expand your acquisition funnel beyond Google.

You can also dust off, update, and simply republish older content on the same platform. If you discover that a few trusted industry websites all linked to a popular resource that's gone stale, update it and let those industry websites know — you may just earn a good link.

You can also do this with images. Reach out to websites that are using your images and not citing/linking back to you and ask if they'd mind including a link.

Be newsworthy

Earning the attention of the press, bloggers, and news media is an effective, time-honored way to earn links. Sometimes this is as simple as giving something away for free, releasing a great new product, or stating something controversial. Since so much of SEO is about creating a digital representation of your brand in the real world, to succeed in SEO, you have to be a great brand.

Be personal and genuine

The most common mistake new SEOs make when trying to build links is not taking the time to craft a custom, personal, and valuable initial outreach email. You know as well as anyone how annoying spammy emails can be, so make sure yours doesn't make people roll their eyes.

Your goal for an initial outreach email is simply to get a response. These tips can help:

  • Make it personal by mentioning something the person is working on, where they went to school, their dog, etc.
  • Provide value. Let them know about a broken link on their website or a page that isn't working on mobile.
  • Keep it short.
  • Ask one simple question (typically not for a link; you'll likely want to build a rapport first).

Pro Tip:

Earning links can be very resource-intensive, so you'll likely want to measure your success to prove the value of those efforts.

Metrics for link building should match up with the site's overall KPIs. These might be sales, email subscriptions, page views, etc. You should also evaluate Domain and/or Page Authority scores, the ranking of desired keywords, and the amount of traffic to your content — but we'll talk more about measuring the success of your SEO campaigns in Chapter 7.

Beyond links: How awareness, amplification, and sentiment impact authority

A lot of the methods you'd use to build links will also indirectly build your brand. In fact, you can view link building as a great way to increase awareness of your brand, the topics on which you're an authority, and the products or services you offer.

Once your target audience knows about you and you have valuable content to share, let your audience know about it! Sharing your content on social platforms will not only make your audience aware of your content, but it can also encourage them to amplify that awareness to their own networks, thereby extending your own reach.

Are social shares the same as links? No. But shares to the right people can result in links. Social shares can also promote an increase in traffic and new visitors to your website, which can grow brand awareness, and with a growth in brand awareness can come a growth in trust and links. The connection between social signals and rankings seems indirect, but even indirect correlations can be helpful for informing strategy.

Trustworthiness goes a long way

For search engines, trust is largely determined by the quality and quantity of the links your domain has earned, but that's not to say that there aren't other factors at play that can influence your site's authority. Think about all the different ways you come to trust a brand:

  • Awareness (you know they exist)
  • Helpfulness (they provide answers to your questions)
  • Integrity (they do what they say they will)
  • Quality (their product or service provides value; possibly more than others you've tried)
  • Continued value (they continue to provide value even after you've gotten what you needed)
  • Voice (they communicate in unique, memorable ways)
  • Sentiment (others have good things to say about their experience with the brand)

That last point is what we're going to focus on here. Reviews of your brand, its products, or its services can make or break a business.

In your effort to establish authority from reviews, follow these review rules of thumb:

  • Never pay any individual or agency to create a fake positive review for your business or a fake negative review of a competitor.
  • Don't review your own business or the businesses of your competitors. Don't have your staff do so either.
  • Never offer incentives of any kind in exchange for reviews.
  • All reviews must be left directly by customers in their own accounts; never post reviews on behalf of a customer or employ an agency to do so.
  • Don't set up a review station/kiosk in your place of business; many reviews stemming from the same IP can be viewed as spam.
  • Read the guidelines of each review platform where you're hoping to earn reviews.

Be aware that review spam is a problem that's taken on global proportions, and that violation of governmental truth-in-advertising guidelines has led to legal prosecution and heavy fines. It's just too dangerous to be worth it. Playing by the rules and offering exceptional customer experiences is the winning combination for building both trust and authority over time.

Authority is built when brands are doing great things in the real-world, making customers happy, creating and sharing great content, and earning links from reputable sources.

In the next and final section, you'll learn how to measure the success of all your efforts, as well as tactics for iterating and improving upon them. Onward!


Sign up for The Moz Top 10, a semimonthly mailer updating you on the top ten hottest pieces of SEO news, tips, and rad links uncovered by the Moz team. Think of it as your exclusive digest of stuff you don't have time to hunt down but want to read!



from The Moz Blog http://bit.ly/2sUNZk8
via IFTTT

The Slow and Steady Refactor

Table design patterns on the web

Chen Hui Jing has tackled a ton of design patterns for tables that might come in handy when creating tables that are easy to read and responsive for the web:

There are a myriad of table design patterns out there, and which approach you pick depends heavily on the type of data you have and the target audience for that data. At the end of the day, tables are a method for the organisation and presentation of data. It is important to figure out which information matters most to your users and decide on an approach that best serves their needs.

This reminds me of way back when Chris wrote about responsive data tables and just how tricky they are to get right. Also there’s a great post by Richard Rutter in a similar vein where he writes about the legibility of tables and fine typography:

Many tables, such as financial statements or timetables, are made up mostly of numbers. Generally speaking, their purpose is to provide the reader with numeric data, presented in either columns or rows, and sometimes in a matrix of the two. Your reader may use the table by scanning down the columns, either searching for a data point or by making comparisons between numbers. Your reader may also make sense of the data by simply glancing at the column or row. It is far easier to compare numbers if the ones, tens and hundreds are all lined up vertically; that is, all the digits should occupy exactly the same width.

One of my favorite table patterns that I now use consistently is one with a sticky header. Like this demo here:

See the Pen
Table Sticky Header
by Robin Rendle (@robinrendle)
on CodePen.

As a user myself, I find that when I’m scrolling through large tables of data with complex information, I tend to forget what one column is all about and then I’ll have to scroll all the way back up to the top again to read the column header.

Anyway, all this makes me think that I would read a whole dang book on the subject of the <table> element and how to design data accurately and responsively.

Direct Link to ArticlePermalink

The post Table design patterns on the web appeared first on CSS-Tricks.



from CSS-Tricks http://bit.ly/2FTaU7r
via IFTTT

Friday, 25 January 2019

Need to Test API Endpoints? Two Quick Ways to Do It.

Here's a possibility! Perhaps you are testing your JavaScript with a framework like Jasmine. That's nice because you can write lots of tests to cover your application, get a nice little UI to see the output, and even integrate it with build and deploy tools to make your ongoing development work safer.

Now, perhaps there is this zany developer on your team who keeps changing API endpoints on you — quite literally breaking things in the process. You decide to write a test that hits those endpoints and makes sure you're getting back from it what you expect. Straightforward enough. The only slightly tricky part is that API requests are async. To really test it, the test needs to have some way to wait for the results before testing the expectations.

That can be handled in Jasmine through a beforeEach(), which can wait to complete until you call a done() function. Here's the whole thing:

See the Pen
Test Endpoint with Jasmine
by Chris Coyier (@chriscoyier)
on CodePen.

Here's largely the same thing but with Mocha/Chai:

See the Pen
Test Endpoint with Mocha/Chai
by Chris Coyier (@chriscoyier)
on CodePen.

The post Need to Test API Endpoints? Two Quick Ways to Do It. appeared first on CSS-Tricks.



from CSS-Tricks http://bit.ly/2FOiQrp
via IFTTT

Creating Your Own Gravity and Space Simulator

Redirects: One Way to Make or Break Your Site Migration - Whiteboard Friday

Posted by KameronJenkins

Correctly redirecting your URLs is one of the most important things you can do to make a site migration go smoothly, but there are clear processes to follow if you want to get it right. In this week's Whiteboard Friday, Kameron Jenkins breaks down the rules of redirection for site migrations to make sure your URLs are set up for success.

Click on the whiteboard image above to open a high-resolution version in a new tab!

Video Transcription

Hey, guys. Welcome to this week's edition of Whiteboard Friday. My name is Kameron Jenkins, and I work here at Moz. What we're going to be talking about today is redirects and how they're one way that you can make or break your site migration. Site migration can mean a lot of different things depending on your context.

Migrations?

I wanted to go over quickly what I mean before we dive into some tips for avoiding redirection errors. When I talk about migration, I'm coming from the experience of these primary activities.

CMS moving/URL format

One example of a migration I might be referring to is maybe we're taking on a client and they previously used a CMS that had a default kind of URL formatting, and it was dated something.

So it was like /2018/May/ and then the post. Then we're changing the CMS. We have more flexibility with how our pages, our URLs are structured, so we're going to move it to just /post or something like that. In that way a lot of URLs are going to be moving around because we're changing the way that those URLs are structured.

"Keywordy" naming conventions

Another instance is that sometimes we'll get clients that come to us with kind of dated or keywordy URLs, and we want to change this to be a lot cleaner, shorten them where possible, just make them more human-readable.

An example of that would be maybe the client used URLs like /best-plumber-dallas, and we want to change it to something a little bit cleaner, more natural, and not as keywordy, to just /plumbers or something like that. So that can be another example of lots of URLs moving around if we're taking over a whole site and we're kind of wanting to do away with those.

Content overhaul

Another example is if we're doing a complete content overhaul. Maybe the client comes to us and they say, "Hey, we've been writing content and blogging for a really long time, and we're just not seeing the traffic and the rankings that we want. Can you do a thorough audit of all of our content?" Usually what we notice is that you have maybe even thousands of pages, but four of them are ranking.

So there are a lot of just redundant pages, pages that are thin and would be stronger together, some pages that just don't really serve a purpose and we want to just let die. So that's another example where we would be merging URLs, moving pages around, just letting some drop completely. That's another example of migrating things around that I'm referring to.

Don't we know this stuff? Yes, but...

That's what I'm referring to when it comes to migrations. But before we dive in, I kind of wanted to address the fact that like don't we know this stuff already? I mean I'm talking to SEOs, and we all know or should know the importance of redirection. If there's not a redirect, there's no path to follow to tell Google where you've moved your page to.

It's frustrating for users if they click on a link that no longer works, that doesn't take them to the proper destination. We know it's important, and we know what it does. It passes link equity. It makes sure people aren't frustrated. It helps to get the correct page indexed, all of those things. So we know this stuff. But if you're like me, you've also been in those situations where you have to spend entire days fixing 404s to correct traffic loss or whatever after a migration, or you're fixing 301s that were maybe done but they were sent to all kinds of weird, funky places.

Mistakes still happen even though we know the importance of redirects. So I want to talk about why really quickly.

Unclear ownership

Unclear ownership is something that can happen, especially if you're on a scrappier team, a smaller team and maybe you don't handle these things very often enough to have a defined process for this. I've been in situations where I assumed the tech was going to do it, and the tech assumed that the project assistant was going to do it.

We're all kind of pointing fingers at each other with no clear ownership, and then the ball gets dropped because no one really knows whose responsibility it is. So just make sure that you designate someone to do it and that they know and you know that that person is going to be handling it.

Deadlines

Another thing is deadlines. Internal and external deadlines can affect this. So one example that I encountered pretty often is the client would say, "Hey, we really need this project done by next Monday because we're launching another initiative. We're doing a TV commercial, and our domain is going to be listed on the TV commercial. So I'd really like this stuff wrapped up when those commercials go live."

So those kind of external deadlines can affect how quickly we have to work. A lot of times it just gets left by the wayside because it is not a very visible thing. If you don't know the importance of redirects, you might handle things like content and making sure the buttons all work and the template looks nice and things like that, the visible things. Where people assume that redirects, oh, that's just a backend thing. We can take care of it later. Unfortunately, redirects usually fall into that category if the person doing it doesn't really know the importance of it.

Another thing with deadlines is internal deadlines. Sometimes maybe you might have a deadline for a quarterly game or a monthly game. We have to have all of our projects done by this date. The same thing with the deadlines. The redirects are usually unfortunately something that tends to miss the cutoff for those types of things.

Non-SEOs handling the redirection

Then another situation that can cause site migration errors and 404s after moving around is non-SEOs handling this. Now you don't have to be a really experienced SEO usually to handle these types of things. It depends on your CMS and how complicated is the way that you're implementing your redirects. But sometimes if it's easy, if your CMS makes redirection easy, it can be treated as like a data entry-type of job, and it can be delegated to someone who maybe doesn't know the importance of doing all of them or formatting them properly or directing them to the places that they're supposed to go.

The rules of redirection for site migrations

Those are all situations that I've encountered issues with. So now that we kind of know what I'm talking about with migrations and why they kind of sometimes still happen, I'm going to launch into some rules that will hopefully help prevent site migration errors because of failed redirects.

1. Create one-to-one redirects

Number one, always create one-to-one redirects. This is super important. What I've seen sometimes is oh, man, it could save me tons of time if I just use a wildcard and redirect all of these pages to the homepage or to the blog homepage or something like that. But what that tells Google is that Page A has moved to Page B, whereas that's not the case. You're not moving all of these pages to the homepage. They haven't actually moved there. So it's an irrelevant redirect, and Google has even said, I think, that they treat those essentially as a soft 404. They don't even count. So make sure you don't do that. Make sure you're always linking URL to its new location, one-to-one every single time for every URL that's moving.

2. Watch out for redirect chains

Two, watch out for chains. I think Google says something oddly specific, like watch out for redirect chains, three, no more than five. Just try to limit it as much as possible. By chains, I mean you have URL A, and then you redirect it to B, and then later you decide to move it to a third location. Instead of doing this and going through a middleman, A to B to C, shorten it if you can. Go straight from the source to the destination, A to C.

3. Watch out for loops

Three, watch out for loops. Similarly what can happen is you redirect position A to URL B to another version C and then back to A. What happens is it's chasing its tail. It will never resolve, so you're redirecting it in a loop. So watch out for things like that. One way to check those things I think is a nifty tool, Screaming Frog has a redirect chains report. So you can see if you're kind of encountering any of those issues after you've implemented your redirects.

4. 404 strategically

Number four, 404 strategically. The presence of 404s on your site alone, that is not going to hurt your site's rankings. It is letting pages die that were ranking and bringing your site traffic that is going to cause issues. Obviously, if a page is 404ing, eventually Google is going to take that out of the index if you don't redirect it to its new location. If that page was ranking really well, if it was bringing your site traffic, you're going to lose the benefits of it. If it had links to it, you're going to lose the benefits of that backlink if it dies.

So if you're going to 404, just do it strategically. You can let pages die. Like in these situations, maybe you're just outright deleting a page and it has no new location, nothing relevant to redirect it to. That's okay. Just know that you're going to lose any of the benefits that URL was bringing your site.

5. Prioritize "SEO valuable" URLs

Number five, prioritize "SEO valuable" URLs, and I do that because I prefer to obviously redirect everything that you're moving, everything that's legitimately moving.

But because of situations like deadlines and things like that, when we're down to the wire, I think it's really important to at least have started out with your most important URLs. So those are URLs that are ranking really well, giving you a lot of good traffic, URLs that you've earned links to. So those really SEO valuable URLs, if you have a deadline and you don't get to finish all of your redirects before this project goes live, at least you have those most critical, most important URLs handled first.

Again, obviously, it's not ideal, I don't think in my mind, to save any until after the launch. Obviously, I think it's best to have them all set up by the time it goes live. But if that's not the case and you're getting rushed and you have to launch, at least you will have handled the most important URLs for SEO value.

6. Test!

Number six, just to end it off, test. I think it's super important just to monitor these things, because you could think that you have set these all up right, but maybe there were some formatting errors, or maybe you mistakenly redirected something to the wrong place. It is super important just to test. So what you can do, you can do a site:domain.com and just start clicking on all the results that come up and see if any are redirecting to the wrong place, maybe they're 404ing.

Just checking all of those indexed URLs to make sure that they're going to a proper new destination. I think Moz's Site Crawl is another huge benefit here for testing purposes. What it does, if you have a domain set up or a URL set up in a campaign in Moz Pro, it checks this every week, and you can force another run if you want it to.

But it will scan your site for errors like this, 404s namely. So if there are any issues like that, 500 or 400 type errors, Site Crawl will catch it and notify you. If you're not managing the domain that you're working on in a campaign in Moz Pro, there's on-demand crawl too. So you can run that on any domain that you're working on to test for things like that.

There are plenty of other ways you can test and find errors. But the most important thing to remember is just to do it, just to test and make sure that even once you've implemented these things, that you're checking and making sure that there are no issues after a launch. I would check right after a launch and then a couple of days later, and then just kind of taper off until you're absolutely positive that everything has gone smoothly.

So those are my tips, those are my rules for how to implement redirects properly, why you need to, when you need to, and the risks that can happen with that. If you have any tips of your own that you'd like to share, pop them in the comments and share it with all of us in the SEO community. That's it for this week's Whiteboard Friday.

Come back again next week for another one. Thanks, everybody.

Video transcription by Speechpad.com


Sign up for The Moz Top 10, a semimonthly mailer updating you on the top ten hottest pieces of SEO news, tips, and rad links uncovered by the Moz team. Think of it as your exclusive digest of stuff you don't have time to hunt down but want to read!



from The Moz Blog http://bit.ly/2WhooiX
via IFTTT

Passkeys: What the Heck and Why?

These things called  passkeys  sure are making the rounds these days. They were a main attraction at  W3C TPAC 2022 , gained support in  Saf...