Programming for SEOs – Whiteboard Friday

Programming for SEOs – Whiteboard Friday

Programming for SEOs – Whiteboard Friday 1920 1280 Paul Shapiro

Maybe it’s crossed your mind once or twice before: You know, this would be a lot easier if I just knew how to program. But it’s an intimidating subject, especially if you’re not sure of your technical expertise, and there’s so much to learn that it’s hard to know where to start.

In today’s Whiteboard Friday, master technical SEO Paul Shapiro shares why it’s so important for SEOs and marketers to take the programming plunge, explains key concepts, and helps you determine the best course of action for you to get started when it comes to leveling up your technical prowess.

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

Video Transcription

Howdy, Moz fans. Paul Shapiro here, Head of SEO at Catalyst. I’m here to talk to you today about programming for SEOs and marketers. 

Why should you learn how to program? 

I think there are really several key benefits to learning how to program.

1. Improved developer relations

First, being developer relations. As SEOs, we’re constantly working with developers to implement our recommendations. Understanding why they make certain decisions, how they think is really pivotal to working with them better. 

2. Become a better technical SEO

Understanding how to program makes you a better technical SEO. Just understanding the construction of websites and how they operate really helps you do a lot better with your SEO. Automation. As marketers, as SEOs, we all sometimes do very repetitive tasks, and being able to cut down on the time spent to do those repetitive tasks is really key.

It really opens up the opportunity to do things and focus more on strategy and the other things that you can’t leave to automation. 

3. Leveling up your data analysis

If anyone is familiar with this number, 1,048,576, that’s the row limit in Microsoft Excel.

As marketers, we’re swimming in a sea of data. It’s very easy to work with a dataset that well exceeds that. I often work with hundreds of millions of rows of data. Utilizing a program language like R or Python is a really good way of handling that amount of data. 

4. Literacy

It’s becoming really, really more common in the States to be taught how to program in elementary school. So by learning how to program, you’re on equal footing with the children of the world, people that may enter the workplace in the future. So you don’t even have to learn how to program in depth. But I do recommend you at least understand the concepts and logic behind programming.

Which language should you learn? 

Oftentimes I hear people say, “I did a little bit of programming in college or high school. I learned so-and-so language.” To them, I say, “You’re in great shape. Stick to whichever programming language you’re comfortable with.” You don’t have to start from square one.



A lot of the programming languages share a common logic. But if you are starting from square one and you need to just decide on which programming language I’m going to learn today, I have two recommendations. 

Python

If you’re going down the path of data analysis, your primary reason for learning how to program is to work with data and do more sophisticated things with data, then I think there’s no better language than Python.

Python is very well-equipped. There are lots of libraries designed specifically for data analysis, and it’s a very much more robust language than something like R. 

JavaScript

If you’re going down the path of web development, you want to be a better technical SEO, you want to understand how websites are constructed, JavaScript is an incredibly robust programming language that has boomed in usage on websites over the last few years.

It’s also very capable of doing backend web development with a language like Node.js, which is just a variant of JavaScript. The only issue with learning JavaScript is I would say that you need to learn CSS and HTML first. So there’s a little bit more of a learning curve than say learning Python.

Example concepts

Now I want to go through some basic programming concepts so that you walk away feeling a little bit more comfortable with the idea of learning a program so it’s a little less intimidating. 

Variables

The first concept I want to go through is the idea of a variable. These are just like algebra, like basic algebra.

So you can assign x is equal to 2 or any other value, and then we can use that later. So x plus 2 is 4. Variables can have any name. We’re using Python syntax as an example. So the first variable we have is a variable called “animal,”and it’s equal to the value “cat.”

This is a string, which is just a bit of text that we assign to it. Now variables could be of many different types. So the variable “number” can be equal to 2, an integer. Or the variable “colors” can be a list, which is a type of Python array. Arrays are just variables with multiple values. So in this instance, colors is equal to red, blue, and green, and it’s just denoted with the brackets.

Conditions

The next concept I’d like you to understand is conditions, so if/else being a basic condition that we would work with. It reads a lot like English. So if the variable “animal” is equal to “cat,” which it is, print out the text “MEOW!” If “animal” wasn’t equal to “cat,” say it was equal to “dog,”then we would print out “Woof!”

Then the output, since “animal” is equal to “cat,” is “MEOW!” Loops. There are many different types of loops. I’m going to use a for loop as an example. Again, it reads a little bit like the English language. So we have a variable “colors,”which we know is equal to red, blue, and green.

So we want to say for every value in that variable “colors,”print out that value. So for x in colors, print (x). It will go through each one, one at a time and print it out. So the first value is red. It gets printed out. The second value is blue. It gets printed out.

Functions

The last value is green. It gets printed out, and the code ceases. Now the last concept I want to explain is functions. Functions very simply are reusable snippets of code. So we have a very basic function here, which we define as moz, so the function moz, which has the value one line of code print (“WBF!”) for Whiteboard Friday.

If we execute the function moz, it will print out the value “WBF!” So all these concepts in themselves aren’t very useful. But when you start really programming and you start stringing them all together, you’re doing all sorts of sophisticated things, and it becomes very, very powerful building blocks to doing much greater things.

Learning resources

So now that you understand programming and why you should do it, I want to leave you with some resources to actually learn. 

Lynda/LinkedIn Learning

The first resource I recommend is Lynda. It got rebranded LinkedIn Learning. The reason why I recommend Lynda is because many, many public libraries offer you a subscription for free.

There’s a ton of different programming classes in there. You can certainly get a Python class. Many levels of advanced Python and JavaScript. You can also learn other things, which I think is pretty cool. So I definitely recommend Lynda/LinkedIn Learning. 

Codeacademy

When I was learning to program originally, I actually went to the library and had to take out books and try to do it myself. Nowadays, there are tons of other resources, like Codecademy.

Codecademy is fantastic. It’s completely interactive. So it will go through all the various concepts, and one by one it will ask you to sort of perform them in a very logical manner so you learn it in an optimal way. I definitely recommend Codecademy. They have both a JavaScript and a Python module. The MOOCs online.

Coursera

If you are the person that needs a more traditional classroom environment, you can learn for free, replicating that classroom environment at home. These are websites like Coursera. A lot of the major universities offer them. There are courses there. W3Schools, which is very valuable for any sort of web development, they have very good, very basic tutorials on JavaScript and CSS and HTML and anything you might need to learn web development.

Python for Data Analysis

It also acts as an invaluable reference guide. If you’re interested in learning Python for data analysis, there’s one book that I highly recommend. It is “Python for Data Analysis” by McKinney. That’s an O’Reilly book. McKinney was the creator of Pandas, which is a very well used Python library for data analysis. So hopefully you’ve walked away a little less scared of programming and are excited to learn.

Bonus: FreeCodeCamp

Another great free resource for learning web development and JavaScript is FreeCodeCamp.org

Leave your comments in the section below. Thanks for watching. Till next time.

Video transcription by Speechpad.com


Did you miss Paul’s awesome talk at MozCon 2019, Redefining Technical SEO? Download the deck here and don’t miss out on next year’s conference — super early bird discounts are available now!

Save my spot at MozCon 2020

* Checkbox GDPR is required

*

I agree

Will you like to book a consultation today?

We promise you’ll be glad to have us as the only premium website developer you’ve ever had!

Will you like to book a consultation today?

We promise you’ll be glad to have us as the only premium website developer you’ve ever had!

Bear Design - WordPress Development

Bear Design provides website development and design, creating content uploaded websites and improving web page placements and web traffic. Bear Design websites are unique, easy to use and responsive. Site owners can easily edit the content, or can trust the Bear Design & Communications to keep them up to date and supply quality content regularly.


GET IN TOUCH
160 City Road, EC1V 2NX London, United Kingdom
Monday – Thursday: 9:00 AM – 5:00 PM
Friday: 9:00 AM – 2:00 PM

WE ARE IN LONDON

Bear Design - WordPress Development

Bear Design provides website development and design, creating content uploaded websites and improving web page placements and web traffic. Bear Design websites are unique, easy to use and responsive. Site owners can easily edit the content, or can trust the Bear Design & Communications to keep them up to date and supply quality content regularly.


WE ARE IN LONDON

GET IN TOUCH
160 City Road, EC1V 2NX London, United Kingdom
Monday – Thursday: 9:00 AM – 5:00 PM
Friday: 9:00 AM – 2:00 PM

Bear Design - WordPress Development

Bear Design provides website development and design, creating content uploaded websites and improving web page placements and web traffic. Bear Design websites are unique, easy to use and responsive. Site owners can easily edit the content, or can trust the Bear Design & Communications to keep them up to date and supply quality content regularly.


GET IN TOUCH
160 City Road, EC1V 2NX London, United Kingdom
Monday – Thursday: 9:00 AM – 5:00 PM
Friday: 9:00 AM – 2:00 PM

WE ARE IN LONDON

© Made with by Bear Design

© Made with by Bear Design

    We are Bear Design

    WE DESIGN

    YOUR WORLD

    Bear Design & Communications Ltd.

    Address : 160 City Road, EC1V 2NX London, United Kingdom
    Phone : +36 702 448 100
    Email : [email protected]

    Opening hours :
    Monday – Thursday: 9:00 AM – 5:00 PM
    Friday: 9:00 AM – 2:00 PM

    Are you sure?
    You must approve our cookie policy to use our site. I you refuse it you will redirect to the Google.
    Refuse
    Approve Cookies
    Cookie Policy
    Cookie Policy
    This Bear Design Cookie Policy (“Policy”) outlines the general policy, practices, and types of cookies that Bear Design And Communications Ltd.. (“Bear Design”, “we”, “us” or “our”) may use to improve our services and your experience when visiting our websites.Cookies are small pieces of text used to store information on web browsers. They’re used by many websites to store and receive identifiers and other information on devices, such as a handheld phone or computer. Our site and services use cookies and other similar technologies (collectively in this Policy, “cookies”), in order to provide a better service to you and to generally improve our sites and services. For example, we may use cookies to help direct you to the appropriate part of our websites, by indicating that you are a repeat visitor. We may also use information to present you with services that are matched to your preferences.Some portions of our websites are functional without cookies, and you may generally choose whether to accept cookies. Most web browsers are set to accept cookies by default, however, you may be able to delete cookies yourself through your browser’s cookie manager. To do so, please follow the instructions provided by your web browser. Please note that disabling cookies will reset your session, disable auto-login, and may adversely the availability and functionality of our websites and the services we can provide to you.As part of our services, we may also place cookies on the computers of visitors to websites protected by Bear Design. We do this in order to identify malicious visitors, reduce the chance of blocking legitimate users, and to provide customized services.Our websites use first party cookies (i.e., cookies set directly by Bear Design) as well as third party cookies, as detailed in the table below.
    Type of CookieWhy we use these cookiesWho serves them and where can you find out more information?
    Analytics and research of usersThese are used to understand, improve, and research users visiting //beardesign.me and their needs for our product offerings. For example, we may use cookies to understand what pages a user browses before submitting a sales request form. We do not share information about this analysis with any third parties.Selected third parties listed and defined as follows:
    • Google Analytics – Web traffic tracking – //www.google.com/policies/privacy/
    • Bing – Conversion tracking from Bing ads – https://advertise.bingads.microsoft.com/en-us/resources/policies/microsoft-bing-adsprivacy-policy
    • Doubleclick – Google advertising platform that analyzes browsing activity across website to establish user profile – //www.google.com/policies/technologies/ads/
    • Twitter – Analyzes browsing activity across website to establish user profile – https://support.twitter.com/articles/20170514
    • Facebook – Analyzes browsing activity across website to establish user profile – https://www.facebook.com/policies/cookies/
    A user can delete these cookies through browser settings.
    Improving Website experienceThese provide functionality to help us deliver a better user experience for our website. For example, cookies help facilitate chats with our sales representatives, allow you to search the website, and deliver the user quickly to their intended website location.1st party and selected third parties as defined below:
    • __cfduid 3rd party cookie – This cookie is strictly necessary for Cloudflare’s security features
    • __hssc Cookie for keeping track of sessions. This is used to determine if we should increment the session number and timestamps in the __hstc cookie. It contains: the domain, viewCount (increments each pageView in a session), session start timestamp. (Expires: 30 min)
    • __hssrc Whenever HubSpot changes the session cookie, this cookie is also set. We set it simply to the value “1”, and use it to determine if the user has restarted their browser. If this cookie does not exist when we manage cookies, we assume it is a new session. (Expires: None. Session cookie)
    • __hstc The main cookie for tracking visitors. It contains: the domain, utk (see below), initial timestamp (first visit), last timestamp (last visit), current timestamp (this visit), and session number (increments for each subsequent session) (Expires: 2 years)
    • hsfirstvisit This cookie used to keep track of a user’s first visit. (Expires: 10 years)
    • hubspotutk This cookie is used for to keep track of a visitor’s identity. This cookie is passed to HubSpot on form submission and used when deduplicating contacts. (Expires: 10 years)
    • wordpress_ WordPress cookie for a logged in user.
    • wordpress_logged_in_ WordPress cookie for a logged in user.
    • wp-settings- WordPress also sets a few wp-settings-[UID] cookies. The number on the end is your individual user ID from the users database table. This is used to customize your view of admin interface, and possibly also the main site interface.
    • wp-settings-time- WordPress also sets a few wp-settings-{time}-[UID] cookies. The number on the end is your individual user ID from the users database table. This is used to customize your view of admin interface, and possibly also the main site interface.
    • __cfduid 3rd party cookie – This cookie is strictly necessary for Cloudflare’s security features
    A user can delete these cookies through browser settings.
    LAST UPDATE: 24.01.2018, LONDON
    Approve
    Refuse
    Cookie Policy
    This Bear Design Cookie Policy (“Policy”) outlines the general policy, practices, and types of cookies that Bear Design And Communications Ltd.. (“Bear Design”, “we”, “us” or “our”) may use to improve our services and your experience when visiting our websites.Cookies are small pieces of text used to store information on web browsers. They’re used by many websites to store and receive identifiers and other information on devices, such as a handheld phone or computer. Our site and services use cookies and other similar technologies (collectively in this Policy, “cookies”), in order to provide a better service to you and to generally improve our sites and services. For example, we may use cookies to help direct you to the appropriate part of our websites, by indicating that you are a repeat visitor. We may also use information to present you with services that are matched to your preferences.Some portions of our websites are functional without cookies, and you may generally choose whether to accept cookies. Most web browsers are set to accept cookies by default, however, you may be able to delete cookies yourself through your browser’s cookie manager. To do so, please follow the instructions provided by your web browser. Please note that disabling cookies will reset your session, disable auto-login, and may adversely the availability and functionality of our websites and the services we can provide to you.As part of our services, we may also place cookies on the computers of visitors to websites protected by Bear Design. We do this in order to identify malicious visitors, reduce the chance of blocking legitimate users, and to provide customized services.Our websites use first party cookies (i.e., cookies set directly by Bear Design) as well as third party cookies, as detailed in the table below.
    Type of CookieWhy we use these cookiesWho serves them and where can you find out more information?
    Analytics and research of usersThese are used to understand, improve, and research users visiting //beardesign.me and their needs for our product offerings. For example, we may use cookies to understand what pages a user browses before submitting a sales request form. We do not share information about this analysis with any third parties.Selected third parties listed and defined as follows:
    • Google Analytics – Web traffic tracking – //www.google.com/policies/privacy/
    • Bing – Conversion tracking from Bing ads – https://advertise.bingads.microsoft.com/en-us/resources/policies/microsoft-bing-adsprivacy-policy
    • Doubleclick – Google advertising platform that analyzes browsing activity across website to establish user profile – //www.google.com/policies/technologies/ads/
    • Twitter – Analyzes browsing activity across website to establish user profile – https://support.twitter.com/articles/20170514
    • Facebook – Analyzes browsing activity across website to establish user profile – https://www.facebook.com/policies/cookies/
    A user can delete these cookies through browser settings.
    Improving Website experienceThese provide functionality to help us deliver a better user experience for our website. For example, cookies help facilitate chats with our sales representatives, allow you to search the website, and deliver the user quickly to their intended website location.1st party and selected third parties as defined below:
    • __cfduid 3rd party cookie – This cookie is strictly necessary for Cloudflare’s security features
    • __hssc Cookie for keeping track of sessions. This is used to determine if we should increment the session number and timestamps in the __hstc cookie. It contains: the domain, viewCount (increments each pageView in a session), session start timestamp. (Expires: 30 min)
    • __hssrc Whenever HubSpot changes the session cookie, this cookie is also set. We set it simply to the value “1”, and use it to determine if the user has restarted their browser. If this cookie does not exist when we manage cookies, we assume it is a new session. (Expires: None. Session cookie)
    • __hstc The main cookie for tracking visitors. It contains: the domain, utk (see below), initial timestamp (first visit), last timestamp (last visit), current timestamp (this visit), and session number (increments for each subsequent session) (Expires: 2 years)
    • hsfirstvisit This cookie used to keep track of a user’s first visit. (Expires: 10 years)
    • hubspotutk This cookie is used for to keep track of a visitor’s identity. This cookie is passed to HubSpot on form submission and used when deduplicating contacts. (Expires: 10 years)
    • wordpress_ WordPress cookie for a logged in user.
    • wordpress_logged_in_ WordPress cookie for a logged in user.
    • wp-settings- WordPress also sets a few wp-settings-[UID] cookies. The number on the end is your individual user ID from the users database table. This is used to customize your view of admin interface, and possibly also the main site interface.
    • wp-settings-time- WordPress also sets a few wp-settings-{time}-[UID] cookies. The number on the end is your individual user ID from the users database table. This is used to customize your view of admin interface, and possibly also the main site interface.
    • __cfduid 3rd party cookie – This cookie is strictly necessary for Cloudflare’s security features
    A user can delete these cookies through browser settings.
    LAST UPDATE: 24.01.2018, LONDON
    Approve
    Refuse
    Welcome
    We use cookies to ensure that we give you the best experience on our website. Before you continue browsing you must approve or refuse our cookie policy.
    Approve
    Refuse
    Cookie Policy