Overcome Your Website Security Worries

I know I’ve used this clipart before that’s in the featured image (maybe I like it!), but because the Guy Fawkes mask has become synonymous (thanks to Anonymous) with web hackers and in turn with website security, I found it befitting to use once again.

This post is in direct relation to the talk I am about to give this Thursday for NIM on helping people overcome their website security insecurities. I will post the slides by the end of the week.

A little background…

Ever since I’ve been in the field of website security, it’s taken me a while to understand it. Working for Sucuri definitely helped in understanding it —but when I first started I did NOT get website security. It made no sense to me. And I’m a guy who comes from the agency world. I used to do front-end development work, I know design process, development process. That makes sense, you take one step forward and get closer to your goal…hopefully. Not in website security, you side-step constantly. Because it’s not about control. Website security is a combination of technology, process, and people. You can’t control all those things, you can assess and mitigate risk in those areas, but you can’t control.

Helping people overcome their website security worries..

The motivation I have for giving the talk is two-fold:

  1. I really do want to help people overcome their worries and fears. Website security can be frustrating, befuddling, scary, complex, and down-right incomprehensible. And to preface, this is a post about website security. Not web security, not IT security, not PC security, or network security. This is a post on protecting your website. Although, all those other layers of security do sort of play a role in website security, that’s why it can be super confusing.
  2. Is to let people know that as website owners and managers, we have a responsibility to not only our sites, but our visitors, the world wide web as a whole. We need to be good stewards of the internet and that starts with the properties that we manage online. Our posture needs to be strong, solid.

So…I guess you could say my hopes for this post/talk are that the audience picks up one (hopefully more) tidbits of information that will make them more diligent online. I want people to understand website security a little better and to give them a plan of action to get their website security and online posture in order.

Let’s begin

The first thing I need everyone to understand is that website security involves several things. It involves Technology, Processes, and the People:

  • Technology – you have a local computer – you have a hosting environment, the different systems that you use that are integrated with your website, social media, the list goes on..
  • Process – Protocols that are used to transmit data (HTTP/HTTPS), protocols you use to recover your site once it’s been hacked, the process for updating your website or storing a password, the list goes on..
  • People – This one’s the hard one, the wildcard. We have hackers, that are getting better by the minute coming out with new technology. There’s us – the website owners – maybe we don’t have enough education. Then there’s the people that visit our website, maybe they have malware on their computer and upload something to your site, the list goes on..

Technology, People, Process

So, the point is, we can’t control everything, but we can mitigate the risk.

Let’s talk about the people, mainly hackers…

hack·er ~/ˈhakər/ (noun): a person who uses computers to gain unauthorized access to data.

Originally ‘hacker’ was a term of esteem, used to describe someone who tinkered around with systems and could break things down, reverse engineer, someone who was really good at understanding their system (whatever it was).  Now it’s used to describe someone who wants to do malicious harm online.

HACKERS: White-hat, Black-hat, Grey-hat , Blue-hat. There are different types of hackers.

    • Script Kiddies – usually computer novices who take advantage of hacking tools, vulnerability scanners and the like
    • Hacktivists – groups like Anonymous, hacking for a cause, usually to expose information, get someone out of prison, expose a corrupt official, things like that.
    • Cyberterrorists – hackers that go after government entities. Experts say World War III will be fought online, I whole-heartedly believe that.
    • Organized Criminal Hackers (Hacking rings) – groups that take down targets like Home Depot, the MySpace passwords that were recently stolen, etc.
  • Security researchers – the good guys (or the in-betweeners – Grey-hats) that try to get ahead of the bad guys or find a vulnerability before it’s exploited.

Motivations of hackers:

  • Revenue/Money
  • Resources
  • Just because they can / or the challenge of it.

Attack types and distribution..

For the most part you’re going to see two types of attacks. Automated, which make up the vast majority of the attacks that are out there. Then the less frequent targeted attacks. The targeted attacks are the ones we hear about and read about in the news headlines. But the ones we really need to worry about are the opportunistic or automated attacks. Given enough time, attackers can sit back and have their networks work for them, and have their scripts slowly find, test, and attack every available target on the internet. Malicious automation has gotten increasingly sophisticated and shows no signs of slowing down.

You can download Sucuri’s Q1 report on hacked websites here: https://sucuri.net/website-security/website-hacked-report

It’s pretty scary stuff, but to give you a precursor, Google reported in March of 2015 that 17 million website users had been greeted with some form of malware warning that the websites visited were either trying to steal sensitive information or trying to install malicious software on the users’ computers. In March of 2016, that number jumped to 50 million!! I imagine next year that number will grow to triple, maybe quadruple that. You can see as the internet grows, so does malware distribution. Google, alone, blacklists over 20,000 websites per week, over a million per year. That’s pretty staggering.

But what are some of the vehicles for distributing malware? There are a lot, almost too many to name, but I’ll name a few that’s seen quite often:

  • DDoS attacks – it’s an attempt to make a website unavailable by overwhelming it with traffic from multiple sources.
  • Brute Force Attacks – this is a trial and error method used by hackers to crack passwords through exhaustive efforts, not strategic ones. We see this a lot with Content Management Systems.
  • Software vulnerabilities – a weakness in a website or system that allows a hacker to gain access and/or infect it with malware. These are usually due to people not updating their systems.
  • Drive-by Downloads – refers to the unintentional download of a virus or malware onto a personal computer or mobile device
  • Phishing Lure – an attempt to acquire sensitive information (passwords, usernames, etc.) by masquerading as a trustworthy entity online.
  • Malicious Redirects / SEO spam – this is the manipulation of a website’s SEO and/or links to get traffic to a certain page. Often times a pornography site, or pharma page like Cialis or Viagra.

There are others like XSS (Cross-site scripting), SQLi (SQL injections), RFI (Remote File Inclusion), LFI (Local File Inclusion), and more. So we need to be very diligent, things are already working against us.

But what do we control as website owners?

A few things, right? Right now, we control our website (well, hopefully if you haven’t been hacked and locked out of your site), and what goes on it — things like themes, plugins, modules, extensions, add-ons…

We also control our hosting environment. And I want to make a quick note on how hosting plays a role in website security. Here is a picture of my CyberDuck (the FTP client) – I’ve blurred out a few of the domains I have on there (for security purposes).

The thing to note here, is that all these 6 sites, all these properties, they sit next to each other in your hosting account. It doesn’t make a difference to me if you have a dedicated server, a VPS, or a shared server. Most people have shared servers. Why? Because they’re cheap and they offer unlimited domains. I don’t think it’s much of an issue that people sit on shared servers with other people and “share” the resources, that’s not really the problem. Hosting providers will have their infrastructure set up so that it would be very difficult for malware or a virus to jump from one account to the other. But the issue it within our own hosting account.

Take the above picture. Say the two sites that are not blurred out – BeingAJiLe.com and AdamJamesLamagna.com – say these sites were really important to me (they are), but let’s say those are the only two I cared about on my shared server. The other 4 sites that are blurred out, let’s say I don’t care about them. Let’s say I never update (I do, but for argument sake). That means that those sites are susceptible through software vulnerabilities, or weaknesses in the code. If one of those sites gets infected, it could infect all the other sites on my server through an activity called cross-site contamination. I wrote a post on it. But remember this — your web host / server is only as strong as its weakest link.

Your web host /server is only as strong as its weakest link

And that’s how hosting plays a roll in website security. People put development or test sites on the same server as production sites, and then forget about those sites. Take a count of how many sites you have on your server, and do a little cleanup if there are sites on there that you don’t care about.

What do we do to actively protect our sites??

This is the thing, there’s really only 1 thing you can do to protect your site. And that’s to install a firewall, specifically a website application firewall. A firewall is a catch-all phrase, right? There are network firewalls, server-level firewalls, local computer firewalls, they all protect different things. You can read up on the Differences in Security Firewalls, it’s a good post. But a website application firewall, also known as a WAF, will protect your site from malicious incoming web traffic. What it does is inspects packets of data and compares it to known vulnerabilities and known trusted sources. If it matches a trusted source, it passes through, if it matches a vulnerability, it doesn’t.

But Firewalls, as all security technologies, are not infallible. They make mistakes, not very often, but maybe there’s a new virus that it hasn’t seen yet. It won’t pick up on it and block it from your website. But that’s the reality and why having a good online posture comes in handy.

Understanding the security state of your websites…

Another technology you can use to get insight into what is going on already on your website is called a scanner, or monitoring device. There are a few free ones out there like these:

All pretty solid technologies, but again they’re fallible. They’ll check the source code and files and compare it to known vulnerabilities. If a vulnerability has not been discovered yet, it won’t pick up on it. But that’s just the way it is, so we have to be strong in our online posture to be able to react accordingly, and hopefully prevent infection from ever happening.

Essentials of good online posture for your website security..

A few things (and let me preface this by saying ‘I don’t want to tell you what you already know’) that I want to impress upon you that are essential to good online posture.

  1. Backups – this one should be pretty obvious. You need to backup the files and the database (both of these!!). If you don’t change your content all that often, backup once a month. If you blog everyday, backup daily. Now for each specific CMS, there will be tools you can use. For WordPress, I use BackUpWordPress – it lets me automate backups on a frequent basis. But, what it will end up doing is placing the .zip file and .sql backup on the server. Remember what I said earlier about servers. You need to remember that once your backups are complete, to remove them from your server. Put them in a safe place on your local computer or somewhere in the cloud. Otherwise, your backups could become corrupted if your website gets infected.
  2. Updates – another one that’s pretty obvious. You need to update your site. Along with cool new features also comes security patches. This is what we care about – security patches. Now WordPress has been really great at backwards compatibility, meaning that when you update, it’s rare that thing break on your site. Well…as long as it’s not super customized. For those sites that are super custom or other CMS’s that aren’t great at backwards compatibility (ehem…Drupal), then the only way to really protect against this is to get a website application firewall – what I talked about earlier. Most firewalls will stop those vulnerabilities at the edge before it even gets to your site. Known security patches will get written into a firewall’s ruleset to help protect. Otherwise, I would make plans on fixing your website to be able to do updates.
  3. Passwords – I believe people are getting much better about their passwords, I think… Use a password manager like LastPass or 1Password. I bought 1Password for $50 for my lifetime, it’s totally worth it. Password managers will generate strong passwords for you, you don’t have to memorize them (you only have to memorize one – the one that gets you into 1Password). It will open up a particular website and autofill for you, which is super nice! And you can also share passwords via vaults with team members through a service like DropBox or Google Drive.
  4. Access Control / User Access – this ones always a tricky one. You have a CMS, and other users need to be on for whatever reason. Maybe they put new products on the site, or write blog posts for you, or make updates to plugins. Whatever the reason, users need to get on your site, you can limit their access through things like user roles, which WordPress does really well. But the other piece is authentication. Authentication is huge in the CMS world. I wold strongly suggest enabling something called two-factor authentication. You can do this pretty easily in WordPress and I’m sure other CMS’s too. You need to download Google Authenticator in the App Store using your Android or iPhone. Then I used the Google Authenticator plugin. When you install the plugin and go to a User (you can have a different code for each user, which is ideal) it will ask you to enable it and a QR code will pop up. On your iPhone/Android, you just scan the QR code and then miraculously it’s synced up. Now, every time you go to log in, it will ask you to put in your 6-digit code from Google Authenticator. The system knows it’s YOU who is logging in, and not someone else coming through a Brute Force attack. Now, if you don’t have an iPhone or don’t want the hassle, you can always install CAPTCHA or ReCAPTCHA, which will authenticate that the user logging in is not a robot/bot by asking it to spell some hard to read text or doing a math problem. I prefer Google Authenticator, but CAPTCHA is at least another layer of security.

So, where do I start if I don’t know where to start…

You start with an asset inventory list:

  1. Create a list of all the sites you own or manage:
    1. Where are those sites hosted?
    2. What plugins, modules, extensions, themes, 3rd-party systems are on or integrated with my website? Are they necessary? If not, remove them.
    3. Make a list of all the people who are allowed access to your site. Evaluate their permission levels, stress strong passwords, and enable two-factor authentication.
  2. Make a backup of each site:
    1. Files and Database – remember to take them off your server and store them some place safe.
  3. Make sure your site is updated:
    1. Core files, plugins, themes, modules, extensions, etc.
  4. Scan your sites for malware:
    1. Use one of the free DIY tools offered by Sucuri or other companies.
    2. Or use a scanner specific to your CMS, see below.
  5. Actively protect your site using a Firewall or CMS specific technology.

Here are a few tools for you to put in your website tool DIY basket:

Platform Agnostic Scanners:

CMS specific scanners (HackTarget has got some cool tools):

CMS specific scanners will compare your install to a trutsted install of the specific CMS to see if things have changed much, etc. It’s good to see if files have been changed or if there’s something on your site that just shouldn’t be there.

Reasonably priced Firewalls:

If you absolutely can’t pay for a Firewall and need something free, then I’ll use a combination of Cloudflare’s free CDN service, and Wordfence (this is only for WordPress users) – they bill the plugin as the “most downloaded security plugin for WordPress” – I feel like I’ve heard that before. But either way, this combination works really well for my sites, but keep in mind, my sites aren’t super high traffic. I imagine if you have a super high traffic site, that you can pay for a reasonably priced firewall.

But if you can’t, the above combination works for me. I use Wordfence’s automated scanning and Firewall, in conjunction with Cloudflare’s free CDN network (which will speed your site up regardless) and their security features. I also have two-factor authentication on my site and I use Login Lockdown which will limit Brute Force attempts.

In closing…

I know this is all a lot to take in. Website security just isn’t one thing, it’s many. We were told that putting up a website is easy, and that’s true, it is easy. But managing and protecting and keeping your site/visitors secure on a daily basis is the hard part! It’s a constant battle, but I hope this brought a little clarity to securing your website and being a more responsible steward of the internet.

A few more resources if you’re interested..

If you have any questions, please feel free to reach out! Many thanks!

The Frustration with Website Security

People just expect their websites to be secure!

People just expect their sites to be safe, and I’ll admit, I did for the longest time too! But that’s a far cry from reality and one that’s hard to sell.

I work for Sucuri, one of the best website security companies on the market today (probably the best – and yes, I am biased!). But I sell web products to agencies and enterprise level clients. It’s not so difficult to sell them on our products. Sucuri’s products, they just work and very well at that! What I need to sell people on is website security as a whole, which is much more difficult than you may realize.

Let me break things down.

There are all these moving pieces to the web, correct? Yes, there are. Even more so at a granular level when you look at company’s servers or hosting environments, file structures and setups, their clients and others who have access to these sites, the sites themselves and all their vulnerabilities. Not to mention the hackers, who rarely leave a trace and rarely get caught and rarely get punished for it.

Let’s start with different environments. There’s a great analogy I use for shared hosting, VPS, and dedicated accounts.

  1. Shared hosting – this, essentially, means that you are sharing resources with everyone else in that environment, like CPU time or memory space. It’s like living in an apartment complex and sharing the pool, laundry, and parking lot with your neighbors. You still have your own place, but if the laundry is tied up, you’ve got to wait!
  2. VPS (Virtual Private Server) – this is like living in a condo, because you’re still sharing resources that are outside of your condo, like parking space, but you’re ultimately responsible for things inside your condo. So, in a VPS environment, there are still shared resources, but portions of those resources are dedicated to each individual VPS.
  3. Dedicated server – this is like owning your own home. You’re responsible for the upkeep, but you also have access to all the resources, and no one shares them with you.

So, this is a very simplified version of server environments. Nowadays, people use the term ‘server’ and the term ‘hosting’ in somewhat the same way. Years ago, when someone said we host internally, it usually meant that they had physical servers inside their offices where they would manage them and actually host their sites on those servers. And for those of you who don’t know, a server is just a computer, with a little different hardware on it (even though, a desktop computer could run a server) – I know, confusing!!!

Hosting is done by a number of different providers like WP Engine, 1and1, GoDaddy, Pantheon, and so on. They have the hardware and resources to handle many different types of platforms (or a specific one), and they also make things easy for people to manage their environments through something called a C-Panel or Control Panel. It’ll give you access to your domains (if you’ve pointed them from your registrar or used the hosting company to buy the domain) and let you change the directory path and DNS settings, things like that.

Now with most servers, there will be server-level firewalls set up with the infrastructure, but that means that it’ll still let in web traffic, which is what we need a lot of protection from. Port 80 (HTTP) and port 443 (HTTPS) traffic can let in a lot of different activity (good and bad).  This is how your visitors reach your site, through one of those two ports depending on whether or not you have an SSL certificate. So, there are many different ways a website can get compromised.

  • Software vulnerabilities
  • XSS (Cross-site scripting)
  • Backdoor Injections
  • SQL Injections
  • SEO Spam
  • DDoS (Distributed Denial of Service) Attacks
  • Brute Force Attempts

And the list goes on…and on…and on…

But you have to be aware of this stuff, and keep in mind that a lot of these attacks are automated. Some may be done manually by a bored teenager sitting at home in front of his computer. But for the most part, they’re automated attacks. And keep in mind there are attacks of opportunity (which we are all susceptible to) and targeted attacks, which are usually for the bigger brands and companies, but make no mistake if you engage in controversial content on your website (like religion or politics), you can very well be targeted too!

There are a few different reasons why someone would want to attack your site or gain access to it. It’s not just money, but that can be part of it.

  1. Revenue – and I’m not talking about people trying to steal credit card info (although, that happens all the time), but if you don’t do anything with e-commerce, hackers can still profit off of your website. Imagine a hacker injects your site with malware and then your mom visits your website. She unwittingly downloads something that your site told her to download (because she trusts you and what you put on your website) and then four hours later she has no money in her bank account. BOOM!! Oops… That’s what I’m talking about. And there’s also SEO spam. Hackers who use your site to redirect traffic to their pages to make money by inserting links, or keyword stuff your site (which will send your rankings through the floor – and it’s hard to recover from) to get better rankings in the short term and make money off of your audience.
  2. Resources – this is another big one. Maybe the hackers don’t want money, but they may want your resources. Things like bandwidth or CPU. They can build a network off of your system and lease it to others. Now hackers can take your resources and use them to attack other unknowing parties, without YOU (the website owner) even realizing it. Scary, right??
  3. Lulz – yup, that’s right, lulz!! What is that you ask? Well…it’s just for the hell of it! Fuck it, let’s try it! I want to see if I can do this. Again, it could be some bored teenager just sitting around chatting on the security forums. Someone tells them about a tool to drop scripts in a website via a contact form, and they want to see if they can do it and gain access. Then once they do, who knows what could happen!! Be careful of this, because this is really hard to mitigate against. Get a WAF (website application firewall).

We have to be careful of things like Ransomware (holding a website owner’s site hostage) or Malvertisements (malicious ads) and there’s no one right way to do this. It really starts with education, so if you’re reading this post, kudos!

Some thoughts on general security

In order to keep your site (and your visitors) safe, you’ll need to explore general website security. Starting with monitoring and a firewall. Sucuri offers an awesome monitor/firewall package, our Website Security Stack. But if you can’t afford that, then look at all the free stuff out there.

You can use our Sitecheck to see if there is malware on your site. But keep in mind this only scans remotely, it can’t check the database.

You can learn how to harden WordPress. Which is basically locking a few things down like access, having containment, certain configurations.

Or you can take a look at OWASP and ModSecurity – which are open source and free to use, you just have to configure the firewall yourself, and that can get confusing!!

The Frustration of Website Security

And this is the frustration of website security—is that there is no 100% solution out there. I don’t think there ever will be! Ever! The reality is is that the landscape of websites and their environments change so frequently that once a solution had been produced, hackers have already found a solution of their own to beat it. And that’s the continual cycle.

So educate yourself and the people around you. If you own a website, you not only have a responsibility to it, but to your audience, and the web in general.

More to come on this topic…..

The Black Book of Web Terms

For those of you who are in the business of talking tech, you’re probably familiar with certain web terms like SEO, Full Stack Developer, Adwords, HTML, FTP, Above the Fold, CSS, etc. I’ve put together a list of the most common terms used when talking about everything tech from computer programming to open-source platforms to blogging. I’ve tried to make them as relatable as possible so you can explain these terms to your cyberspace-challenged family at the next Thanksgiving dinner and sound super tech savvy. Terms, acronyms, phrases, and slang are all in the mix, alphabetically ordered for your convenience. If you need more clarification, fill free to reach out!

A:

Above the Fold – this refers to anything that can be seen on a webpage without having to scroll down. It stems from the newspapers where anything in the top fold was considered prime real estate for content and ads.

Adwords – this is the most commonly used ad service powered by Google. It allows account holders to bid on certain keywords relevant to their website and create ads which appear on SERPs. It places ad copy usually at the top or to the right of the search engine result page (SERP). If you look closely at the first two or three results on your next search, you’ll see a little yellow box that says “ad” directly to the left of the link, that is if you use Google. Bing has its own ad service, surprisingly called Bing Ads.

Adsense – this is a little different than Adwords, but connects with it. Adsense allows bloggers and other webmasters to display ads on their sites which can generate income through a CPM (Cost per impression, aka PPM) and CPC (Cost per click, aka PPC). An account holder can get paid through Adsense by taking the ads from Adwords that companies create and pay for and displaying it on their websites. I know this is a little confusing, but all you need to know is Adwords costs money, Adsense can make you money.

Analytics – services that generate statistics about a website’s traffic, patterns, and has the ability to measure conversions. These tools basically track activity on a website.

API – Application Programming Interface – it’s a way for one technology to interact with another technology. Like a Twitter API let’s developers incorporate Twitter data into a website or application, same thing with a YouTube API. This maintains a level of cohesion in the building process.

B:

Back End – refers to everything on the “back-end” of a website, basically what goes on behind the curtain. Back end functionality are the inner workings of a website or application. Also known as server-side, back end is the stuff you don’t see when you look at the webpage. (EX: Have you ever filled out a contact form online? Where does that information go and how does it get there? That’s back end!!) Back end may also refer to a person, he’s a back end developer.

Bandwidth – is a resource in use. If a website has millions of users viewing the site, it will be using a lot of bandwidth. Bandwidth can also be used to describe someone’s availability – a developer just finished their project and has some “bandwidth” to help out on different projects.

Beta – we always hear this product is currently in beta – that means it’s the first “live” phase of a website or a platform. The product is ready for use but the kinks are still being worked out and it’ll improve.

Black-Hat – used to refer to malicious hacking or aggressive SEO strategies.

Blog – if you don’t know what this is, you’ve got problems. But just so you know, blogs started as sort of an online journal and now blogs have turned into complex inbound marketing tools. The internet is like an ocean and companies use pieces of bait called content (blogs) to reel people in with.

Bounce Rate – used in analytics to represent the percentage of visitors to a particular website who navigate away from that site after viewing only one page. This is when visitors come to a website and then “bounce” off never going to another page than the one they landed on – hence bounce rate – a low bounce rate is usually good, a high bounce rate is usually bad – usually!!

Browser – this one’s easy. A browser is an application we use to surf the web. (EX: Chrome, Firefox, Safari, Internet Explorer (do people still use that, ha!))

C:

Caching – this is when your computer stores a copy of a webpage you previously looked at so it can deliver that page to you faster the next time you view it.

CDN – Content Delivery Network – CDN’s are normally for websites that have lots and lots of images, videos, and rich media. CDN’s will store cached versions of the website on different servers at different locations around the world. This enables the site to be served up quicker when trying to view it. Depending on your location, the server closest to you will show you the website.

CMS – Content Management System – software that makes the management of a website easier for those who aren’t developers. A CMS can have a number of different users, usually called admins, that access the website through a login portal. The user interface opens into a dashboard where admins can publish, edit, and update the website’s content. Examples of CMS’s are WordPress and Drupal, both open source!

Cookie – stored in your web browser, a cookie comes from a website you visited. When you revisit the same website, the cookie will send data back to the server to notify the website of your previous activity.

CRO – Conversion Rate Optimization – the practice of creating great experiences for a website user with the goal of converting them to paying customers.

CSS – Cascading Style Sheets – this is a stylesheet for sprucing up your website pages and making things look pretty. With a .css extension and linked from an HTML (seen below) page, it is the decoration of a website.

D:

Deep Web – a part of the internet that is not indexed by regular search engines. The internet is an ocean as in 90% of its contents are below the surface. For every page a regular search engine indexes, there are many more that are not being indexed. See TOR – the software for trolling the deep web.

DNS – Domain Name System – a unique user-friendly name that identifies a website, like any domain.com and essentially converts the number of the IP address.

DOM – Document Object Model – let me preface this by saying this will be hard to understand! There are objects in an HTML page called elements, things like <title> and <header>, the DOM is basically a representation of the document (often times in the form of a tree) and determines how objects can be manipulated.  It can be considered kind of a theory, and it’s technically an interface. Told you it would be hard to understand. Google it – I dare ya!

Domain Authority – honestly, no one really knows what this is. It’s a secretive algorithm that measures how a website will perform in search engine rankings. Moz has the info you need on Domain Authority.

Drupal – free, open source content management system used to build websites and online communities leveraging modules for functionality.

E:

Element – the components in HTML, they represent content and are wrapped in tags EX:  <p>Paragraph tag</p>, <h1>Heading with the most weight</h1>, <h6>heading with the least weight</h6>, <img src=”this shows an image” />

F:

Favicon – these are the tiny little images and icons that are displayed in the tab of a window next to the title of the actually webpage.

FTP – File Transfer Protocol – a way for files from one computer (usually a personal computer) to be transferred to another computer (usually a server) to be viewed on the internet.

Framework – in development, a framework helps by having a defined collection of tools to pull from for creating websites and web apps. Common activities (e.g. – fixed layouts, responsive markup) are put together and available for use instead of building something from scratch.

Front End – development that involves everything a user sees on a website, sometimes called client-side. Also refers to a person, she’s a front-end developer.

Full Stack Developer – a developer who knows both front-end and back-end development, these developers are extremely skilled and demand a high salary!

G:

GIF – a format file type used most times for animated images and graphics.

Git – a version control system which enables developers to work on projects simultaneously from different computers and store revisions of development history. It’s really good for holding developers accountable!

H:

Hack – there’s two meanings for this. One – is the traditional meaning where your computer gets hacked by a hacker for profit, gain, or notoriety. The Second – is when files are customized by a programmer, but not coded properly. You’ll often hear, “the core files are so hacked we’d have to start from scratch.” – this could mean that the files were hacked by a hacker, but it probably means that some developer who had access to those files changed the code to get the website or program to run the way it needed to run, but they didn’t use best practices.

High-level – this is a business term which means very basic, an overview, not specific or detailed. Your boss comes to you and says, “I’d like a high-level overview of your department’s business objectives for Q4 this year, just something simple.”

HTML – Hyper Text Markup Language – one of the first languages in website building, it leverages components known as elements wrapped in tags (surrounded by angle brackets shown here – <title>My Website</title>) to render certain types of text and images in a file with the extension .html. When rendered on a webpage, the above example would only show My Website. It is the skeleton of pretty much any website and contains different types of content.

HTTP(S) – Hyper Text Transfer Protocol (Secure) – it’s basically a set of rules for transferring information over the internet between browsers and servers. HTTPS is the secure transfer over an encrypted connection.

I:

IP Address – Internet Protocol Address – this is the number associated with a web address or computer.

J:

JS – JavaScript – a scripting/programming language used to create dynamic websites. It can handle user events and movements, alter content, and make for an overall great user experience. JavaScript has become very popular these last few years.

jQuery – a JavaScript library to simplify creating animations and handling events. It’s the most widely used JavaScript library today, and it’s got a great API.

K:

Keyword – any term, phrase, or word typed into a search query in a search engine that shows results.

KPI– Key Performance Indicators – companies use KPI’s to gauge and compare performance, they usually come in the form of some type of data-driven metric like social media reach, profits, or analytics.

L:

Landing Page – a webpage built within a website for the purpose of being “landed” on, usually from email marketing or social media. A landing page is built in hopes of converting users into customers.

Link Bait – content on a website that other sites link to because they find it interesting, unique, funny, and want to link to it.

Link Building – getting other websites to link to your website in hopes of improving your own ranking in a search engine.

M:

Markup – another way to say code, HTML is a markup language. See also syntax.

Meta – often heard in line with the word data, metadata is literally data about data. It helps search engines read parts of your website to determine what type of data it is.

Microsite – this is an individual website with its own domain/subdomain and as its own entity, but often times associated with another larger website. A microsite is usually used to showcase some type of event or new product.

Mockup – a design that shows a user what a website will look like without having to build any of the functionality.

MVP – Minimum Viable Product – for a website, the MVP has just those core features that allow the site to be deployed live. It’s the absolute bare minimum a website can be and still be used.

N:

NAP Consistency – Name, Address, Phone Number – a company’s NAP should be the same across all different local listings and other listings. This will help with local SEO.

O:

OOP – Object Oriented Programming – is a fundamental of computer programming that centers around objects and the methods or functions that control them.

OS – Operating System – are you using a Mac, Windows, or Linux OS? The iPhone’s operating system is iOS, go figure!

P:

Panda – this was an update to Google’s algorithm that aimed at lowering the rank of low-quality sites aka “thin sites”, and return higher quality sites at the top of the SERP.

Penguin – this was another update to the Google algorithm that aimed at decreasing search engine rankings for those sites that were still practicing Black-Hat SEO tactics.

PHP – PHP Hypertext Preprocessor – what?!? yes that first P stands for PHP, it makes no sense, I guess HP was taken! This is a programming language that is normally used with a database like MySQL to build dynamic websites and web applications. Over 80% of the web is written in PHP.

Pogo-sticking – users who search for a keyword and click on the first result they see. Then they don’t find what they want and hit the back button to the results page and click on the second result they see. Then they don’t find what they want again, and this can go on and on, hence the pogo-stick.

Post – an article in a blog.

Q:

QA – Quality Assurance – the act of making sure something works properly. In development, massive regression testing, unit testing, browser testing, and cross-platform testing is usually done.

Query – any question, whether that’s searching in a search box or querying a database to get back info from that database, a query is simply a question.

R:

RFP – Request for Proposal – this is a business term, but it’s when companies contact a web agency in hopes of finding a solution to their web challenge. If a company wants to build a website or do a redesign, they’ll put together an RFP (which basically describes what they’re using now and what they’d like to change about it – high level stuff) and send it to a web firm to get a proposal.

Rich Media – this can be different things, a few examples are images, videos, and animations that usually involve some type of user interaction. Or it can be an image, video, or interactive advertisement.

River – on a blog, it’s the main section of blog posts, not the sidebar.

RSS – Really Simple Syndication, actually it’s Rich Site Summary – RSS feeds allow a webmaster to syndicate someone’s content from a blog or news source to their own site and link back to that blog or news source, the feed will automatically update with any new posts.

S:

Scope Creep – adding incrementally to a project plan or statement of work (SOW), and realizing that the project plan has gotten way too big! The creep refers to adding small things (features, functionality, etc.) to a project and then realizing that the scope (what the project entails) is way over budget or the timeline’s too short.

SEO – Search Engine Optimization – for lack of sounding obvious, this means optimizing a website for the search engine. It’s an organic (meaning free) process of affecting a website’s visibility in SERPs. The strategy for this is extensive and constantly changing, you can check out some of my previous posts on SEO and Search Engines to get a basic look.

SEM – Search Engine Marketing – increasing the visibility of your website through paid advertisements.

SERP – Search Engine Results Page – it’s the page that has all the results on it after you enter a search query and hit enter.

Server – simply put, a server is a computer, but it’s a big one that houses a bunch of different websites.

Sitemap – this is a list of all pages within a website that can be crawled by spiders or by users, normally showing the taxonomy of a website.

Spamdexing – slang term for the use of Black-Hat SEO strategies like invisible text (hiding text between the markup and rendering it invisible), keyword stuffing (stuffing a webpage full of the same keyword), and doorway pages (landing on a page and then suddenly being redirected to another page) for the purposes of high visibility in search engine rankings. This is a very bad thing to do and it’s like committing SEO suicide.

Spider – a program designed to crawl (read) web pages.

SOW – statement of work – a document that tells the client what you plan on doing for their project.

Syntax – properly structured code.

T:

Table – a slang term for putting something on hold. EX: “I’ve got a lot on my plate right now, so why don’t we table this month’s content strategy and circle back at a later date.” I hate this term!!

Taxonomy – this is the procedure of organizing and categorizing the different web pages on a website. A website’s hierarchy.

TOR – The Onion Router – this is a free software for online anonymity. It let’s users surf the web much like Google or Bing does, but with no threat of placing cookies on your computer or tracking your movements. TOR is often used to surf the Deep Web.

U:

UI/UX – User Interface / User Experience – UI is what we use when we’re doing some type of action online (e.g. – viewing a website, purchasing an online product). UX is the feeling we get from doing those actions.

URL – Uniform Resource Locater – URL’s are a website’s unique address so that it can be found online.

Usability – criteria that assesses how easy a user interface is to use including learnability, efficiency, memorability, errors, and satisfaction. The Nielsen Norman Group has a great post on this topic – Usability 101

User-friendly – this just means that something is easy for us humans to understand! EX: beingajile.com/blog is much easier for us to understand than beingajile.com/wp/13286-aXeS3.3428.php

V:

Virus – much like a cold virus or the flu, a computer virus is a malicious program that likes to harm and reproduce in other hosts (computers).

W:

Webmaster – any person who develops or controls a website.

Widget – a small piece of functionality in WordPress usually found in the sidebar or footer areas.

Wireframe – this is kind of like a blueprint for a website, often done with boxes, it represents a visual framework.

WordPress – an open source content management system designed for developers and non-developers. It has a vast community of developers/non-developers who regularly contribute to making it the best blogging platform out there. It utilizes plugins which are pieces of functionality that help the end user accomplish something (e.g. – embed a twitter feed). This is such an immense platform that the codex has got all the documentation you need to get started.

X:

XML – Extensible Markup Language – defines a set of rules for encoding documents in both human-readable and machine-readable format, it’s also designed to carry and store data.

Y:

Z:

I couldn’t find anything for Y and Z, but I’m sure this will be a constantly updated list. I literally keep a black book of web terms right next to my computer so that when I hear someone say a term I’m not familiar with, I write it down. Please feel free to reach out if you have any input or want to know something more about a certain term. Hope this was helpful.