What is “WordPress” and What Does “CMS” Mean?
by
WordPress was originally created as a Blogging software. As more people started to use it, it became expanded such that it could create entire websites with static and other custom pages – not just blogs and posts. Although not originally designed as a true, traditional CMS (content management system), it nonetheless can now be used that way.
Other CMS systems like Drupal and Joomla are credited with having a more powerful, customizable underlying “taxonomy” structuring capability that make them powerful content management systems. However the complexity and sophistication required to understand and design a complicated content system website is too much for most website owners and WordPress is a perfectly fine and powerful alternative for most websites. On the other hand, Drupal and Joomla can also be used to make fairly simple sites.
WordPress is “Open Source” software. This means it is developed by a community of thousands of volunteers from around the world. Nearly 500 people worked on WordPress 4.7 (named “Vaughan” in honor of legendary jazz vocalist Sarah “Sassy” Vaughan, was released in December 2016), including about 200 “first time” WordPress coders.
How WordPress Works
WordPress is arguably
the most used website
development software
on the internet.
In CMS systems, all content or references to media, etc are stored in a database on your server and each time someone “visits your page”, first the server on which your site is hosted has to make many, many queries to the database to gather the various elements that make up that individual page and assemble an HTML document. This resultant document is downloaded to your personal web browser which “renders” the beautiful web page you expect to see.
Since its inception, WordPress has now become arguably the most used website development platform on the web.
It is comprised of three major components:
The core
The core software code contains all the default functionality that makes up the WordPress content management system. This includes everything one can do from the admin backend. This includes functions such as creating pages and posts, interacting with the database, allowing the creation of Users and checking password strength, etc. The core is like the engine of your car – it makes this work and allows the car to run.
Themes
1000’s of “themes” and
“plugins” allow you to
customize look, feel and
functionality of the core.
While the core is responsible for the backend of a website and how it operates. Themes are responsible for the front-end and how a website looks and feels. The WordPress admin area is used to create posts, pages, and other site content, but exactly how our posts and pages are displayed to visitors is up to the theme. This gives you amazing power over your website’s appearance.
One can find literally thousands of free and premium pre-built themes to install and activate, or one can “break out of the box” completely and create unique, custom designs. The sky (and your imagination) is literally the limit
Plugins
Plugins are like servants or drones, basically dutiful workers that provide additional functionality to WordPress that may be missing or limited in the core software. To do its job, a plugin may modify the backend and/or the front-end of a website.
A plugin that adds a Tweet button for Twitter is a good example. It would probably create a new settings page in the backend admin menu where you could set up some default options for a user’s tweet and it would also add a tweet button to the front-end of a website, most likely displaying under a post.
Photo gallery plugins are another great example. They provide a way of creating extensive photo albums and galleries and even slide shows of your images and provide a plethora of settings that determine every thing from border and background colors for you pictures, to transition times and effects in your slideshow.
Help! My Site Just Got Hacked!
Hackers are constantly
looking for ways to
exploit your website.
Unfortunately, some plugins are old, possibly created by software programmers who took shortcuts, may have been using non-standard coding “best practices” and may no longer have active support and development. This can be a huge problem for your site, as hackers are constantly looking for ways into your site to exploit server resources, send out spam email or even masquerade sections of your site to mimic porn or even reputable, well know websites like PayPal or your bank! The results run the gambit from pesky junk main from your website using up server resources, to your entire site breaking and no longer working.
WordPress is constantly releasing new versions of its core software that either plug freshly identified vulnerabilities, or add entirely new functionality. If your plugins do not keep up with the changes, your site can break. This can be a hassle, scary and even cost you money and search engine ranking, if your site is down and unavailable for a period of time.
Back up and Update
regularly – or you
WILL get hacked!.
So what to do? First, make regular backups of your site. Then when new updates are available, systematically update your plugins first, checking your site after each update to make sure it still works, then update your core. If the site breaks, you can restore from your last good backup, then turn off all plugins and step by step turn on and update each plugin till you find the one that is causing the trouble.
When you find the culprit, you may need to find a replacement plugin that does a similar job or contact the plugin maker to inquire about the problem.
When you are searching for plugins to perform a specific tasks, remember to check the user reviews and comments associated with them. The info section will also tell you when it was last updated and it’s level of probably compatibility with the version of WordPress core you intend to use.
Bottom line? Spend some time researching your plugins first. Make sure they do what you need them to do without a lot of extra bells and whistles you may never use, then have a regular backup and maintenance plan in place. If you let your site go for months or years with no attention, it WILL get hacked! Like a garden left unattended, it will grow weeds that may eventually choke out your beautiful vegetables and flowers.
Stay Relevant and “Fresh” – Engage in Conversation
Your website
is like a garden.
Will yours grow weeds
or flowers?
One needs to develop a relationship with their website to keep it fresh, vibrant and relative to your visitors. Spending a little time each month in the backend, reviewing your website Analytics and updating your Blog or responding to Visitor comments are a great ways to get to know your site and become confident you can manage it.
Google likes to see activity on your site and will reward you with a boost in your search engine ranking. Your Visitors also want to know there is somebody home, that it’s not just an other signpost or billboard on the internet highway. Think of your website as being an “Avatar” for you and your company. What is the “persona” with which you will interact with your visitors? How can you keep that persona fresh and engaging, such that people feel trust in you and your site and perceive you as an authority in your niche?
So it’s up to you. Will your website be like Cinderella, relegated to some dusty corner, or will it be a vibrant extension of your personality and message, interacting with the world wide web of visitors which may find your site?
Let’s Get Technical
Still with me? Cool. Then let’s go deeper into what powers WordPress (and other web development platforms) when you and your developer “open the hood”…
PHP, MySQL, Javascript/Jquery, AJAX, HTML and CSS! Oh my!
Build on a core of HTML
and CSS, the real power
“behind the curtain” is
PHP, mySQL, javascript…
As mentioned, data that is required to represent the various pieces and elements of your webpages are first retrieved from the database on the server, using a server programming language called PHP (an immensely popular server-side scripting language, used in over 80% of all websites) and “structured mySQL queries“, then assembled into structured HTML and styled with definitions in CSS (cascading styles sheets). “LESS” and/or “SASS” are supersets of CSS, which means that all valid CSS code is valid LESS and SASS code. What both of these extensions to CSS add is the ability to use variables, functions, and other constructs in CSS, which adds a whole world of dynamic possibilities.
The role of JavaScript on the web is ever-increasing, especially with new JavaScript-based tools like Node and Angular. Javascript is a “browser-based” programming language which means it runs in your own browser – not on the server. It is typically used to add dynamic functionality to websites and for asynchronous loading of content, based on triggers from user interaction or timers running in the background.
The extremely popular jQuery framework is basically built on Javascript. It is used extensively in WordPress and in millions of projects on the web. It provides both CSS styles and dynamic functionality. Perhaps you wish for a webform to be completely hidden, but fade-in inside a lightbox when the user clicks on a button. Maybe you wish to do validation checks on form fields before its content is sent to the processing script on the server – javascript/jquery are well adapted and popular solutions for such browser-based tasks.
Asynchronous loading is done via the mechanism called AJAX. AJAX can be used to retrieve information from the server and then display it without requiring that the page be reloadede. A good example is endless scrolling where the first 10 posts are loaded and when you get close to the bottom of the page the next 10 posts are retrieved and appended to the currently displayed set.
REST API
The REST API allows one to create true web applications based on WordPress. This includes iPhone and Android apps exotic things like TV apps, but these require knowledge of some other server-based programming languages.
Build powerful
multi-platform apps
with REST API.
To explain what REST API is and is capable of, let’s consider Twitter or Instagram – you have probably seen someone’s Twitter or instagram feed displayed on their website. (See CassClayton.com, for example.)
To implement this feature to your own site, you don’t need to know how Twitter’s core code works, all you need is a bit of code that says: “please retrieve my latest five tweets”. Twitter handles the actual retrieval, sending back the data of your requested five tweets. Then, simply use HTML and CSS to format and display that data in a way that suits your site’s design and layout.
It is the REST API that does this for WordPress. You can connect to any website and ask it for your latest five posts. But wait, there’s more! With this connection, you have amazing control over your accounts on these Social platforms – you can delete users, create new users, edit categories and more. It is required, of course, to first “login” and authenticate yourself before performing these sorts of functions.
So why is this useful? Among other things, this means you can use WordPress as a repository of information and build front-end and/or the backend using an entirely different system. The power inherent in this cross-platform capability may be a little hard to grasp, but the flexibility available to you via WordPress takes a leap in sophistication and possibility, using the REST API.