Author Archives: Kathy Sweeney

So Why WordPress?

I’ve been doing this web site thing now for a while, and I’ve created websites for myself and other people that have ranged from a simple HTML static page to CMS structures that have need for back end code and databases. Along the way, I’ve worked with a number of CMS’s and I’ve seen quite of few come and go. To be honest I wasn’t too impressed with WordPress when I first tried it. It seemed rather one dimensional, “Just a Blog”, and I was looking for more of a content management platform, so instead I stuck with Xoops for live sites, which managed content well and was one of the few that had the modular plugins installed updated from the admin.

I am not ashamed to admit that over the years I have explored and played with all of the web site software I could get my hands on. One reason was that I was fascinated with how the different software did the same thing, with different code and database structure. No matter how simple or complex, they used information stored in a database and php files, html, xml, scripts and css to store and manipulate data, render the front end and provide login/registration and other functions. Some of the early CMS’s required manual edits to update, add modules, or other custom bells and whistles. Some still do require this, some that have some great features that make it worth it, so its not like it isn’t being done anymore. Just that there are options now that were not available in the ancient days.

Modern WordPress has come a long way in offering a robust solution for websites

Modern WordPress plugins and themes are are created separately and hook into WordPress core functions. That way when there are changes to patch security or add functionality, you can safely update without losing changes or customization on your site. If you want to customize a theme, you create a “child” theme and its the same concept.

The core, theme and plugins are stored on the WordPress repository and WordPress notifies you when there is an update in the admin panel. Updated sites are more secure and if problems do arise in which development or repair is required, it is easier to spot, diagnose and fix conflicts and errors.

Then there is the built in SEO compliant structure and additional tools, or SEO Friendly.
All in all the reason I started using WordPress over Drupal, over Xoops, over Joomla was the time it saved, the time it would take to do customization and or updates, the time it took site owners to learn the dashboard, the time it would take to fix when something went wrong…

All in all if Success doesn’t spoil Rock Hunter, I will probably keep using WordPress for my personal and hobby sites, but you never know. Things change.

A Rose By any Other Domain Name

Why I am so stingy with plugins

One of the many reasons I love using WordPress is the plugins.  Of all the CMS’s and all the plugins for them, WordPress has the most, I could argue the most user friendly  plugins designed.  And I can pretty much guarantee that if you have a need, WordPress has a plugin or five to do that, some for free. 

But… in some cases, not just in WordPress, but all apps, on every platform,  even the free ones can come with a price.  In security, in performance or the need for customization’s or features that you want that aren’t included in the “free version” – in some cases you can pay for it and then find out that it doesn’t do what you need either. Not always the plugins fault, just that one size fits all doesn’t always meet the needs of the website. 

I like a lean code ship.  Site speed is important to me, a mean load time of 1.3 seconds. Often when I am developing a site, I will add a function and templates to the theme rather than a plugin because what I need only takes 10 lines of code, including notation.  Pretty much there is usually a plugin that does what I need out there but it comes with extra files, extra calls to the server, external files and to the browser – and sometimes conflicts with other plugins and themes. 

Buyer Beware

In my role as a developer when and if a client asks about plugins I advise them to make sure the author is reputable, search the CVE for security vulnerabilities and,  make sure that the plugin actually fulfills your needs, if possible to do a free trial or demo.

To be honest, they don’t always ask, or listen. I’ve seen more than one wish that they had, when the plugin didn’t do what they thought it would, was buggy or a security risk.   

Ken Graham Trucking Inc

2018 Update.

Design from 2010-2017  

 

Custom logo created based on picture of embroidered jacket for kgrahamtrucking.com

Logo

2010 Logo based on photo of an embroidered jacket and other graphics created by KatDidIt. Content development, articles and forms. Theme colors were inspired by pictures pictures provided by client, to match calendars and other advertising.

kgrahamtrucking.com

 

A Rose By any Other Domain Name

A Rose by Any Other Domain Name

Might not smell or test as sweet. Registering a domain name is fairly simple and relatively cheap, but there are a few important details to keep in mind when you are deciding on what your domain name should be.

The most important things are simple: keep it short, unique and relevant to your company. If your company name is Fritz and Sons Conglomerate Inc. “fritzandsons.com”, “Fritz-and-sons.net”, “Fritz.inc”, “fritz.com”, “FritzConglomerate.com”, even the acroynm “fsci.com” are all  domain names to consider, though a little bit of caution when creating  acroynms or running words together to avoid a domain name is saying more than you want it to

If you have a particular branding acronym, “catch phrase” or “buzz words”, such as “Never be on the Fritz with Fritz”, associated with your company you might consider “never-on-the-fritz.com”, unless someone has trademarked “Never on the Fritz”.

Never buy a domain name that is trademark protected. It’s fairly easy to do a search, if you are in doubt consult an attorney who specializes in trademark law. Trademarks and copyright infringements not only can lead you into court, they can also confuse visitors, customers and dilute your brand. It’s best to stick to unique phrases/wording that can easily be associated with your company and brand. Imagine buying and investing in a domain name only to find out thousands of development or advertising dollars later that you are building up a competitors brand or worse, liable for infringement. You might even want to consider creating your own trademark, to make sure your branding remains your property.

Valid characters for a domain name are letters, numbers and a dash (or hyphen) “-“.
Spaces and other special characters like the underscore “_”, exclamation mark “!”, or the ampersand “&” are not permitted.
Periods (or dots) are only used/allowed to denote the suffix, or top-level domain (TLD) or “Subdomains”.
The maximum length of a domain name can be up to 67 characters long – including the .com or other TLD,
BUT if you are using all 67 characters it is going to be too long for the average person to remember.
The “www.” is not a part of your domain name.
“www.yourcompany.com” is not a valid name you will have the option of using www.yourcompany.com when setting up your site.

How to Clean a Hacked Website

Traditionally “.com”, “.net”, “.org”, “.biz” are the more recognized top level domain names, but these days you can use almost anything as more and more TLD’s are being created every year. Whichever TLD you choose it is a good idea to grab the .com version of your name if available. The reason for snagging for the .com version is simply that people will often get confused and type in .com unthinkingly rather than or in addition to your .org or .company domain names. There is one TLD you should probably avoid and its “.biz”. Poor “.biz” has a bit of a bad reputation brought about by some shady practices used by some of its earliest actors and because of this reputation, a yourcompany.biz might not go over as well as you might hope.

So to sum it up: make it relevant to your brand, short sweet and snappy. Avoid lengthy names. Avoid trademarked names. Avoid becoming a dirty joke. Try to grab the .com even if you want the .org or other TLD.

Diane Peppler Resource Center

https://dprcenter.org (2009-2025)

DPRCenter Logo

DPRCenter Logo

dprcenter2013Website for a woman’s shelter in Michigan. Project in 2009 initially migrated from html based site to Drupal with Mailchimp, HelpChat and Facebook/Social Media.

In 2012 we migrated the site from Drupal to WordPress.

Custom theme includes an “escape” script feature to allow for a quick exit for visitors in abusive situations who might be walked in on by the abuser while visiting the site for information. Ongoing assistance with development of features, content and site maintenance.

Survivor Flags

DPRC Design inspirationOne of the inspirations this design was a picture that showed a field dotted with teal and purple flags from their 25th Anniversary. The flags represented the survivors of domestic violence and sexual assault that this organization has helped since it was started.

Photo by Ilya Pavlov on Unsplash

Keep your Website Updated.

Original Title: Two years later, what the Exploit Fest of 2014 Taught us…

WordPress Joomla Drupal, Magento .  You name the CMS  2014 was a big year for bots, brute force attack hacks and vulnerabilities, and unfortunately two years later, it seems that the uptick seen in 2014 was just an introduction to the future. Of course the internet has long been a place where this happens, and the almighty security guru’s have done a very decent job of keeping the rest of us informed about the threats, patching holes and educating the industry on how to batten down the hatches, of course, we can never be 100% certain what the next strain on security will be, what the method of attack or how long it will be before the a new pattern or outbreak becomes apparent and the security guru’s figure out how its being done this time.

In 2014 expressly though, it became apparent, that the perhaps the biggest hole in the internet, is web site owners that do not update.

How to Clean a Hacked Website

In January and March of 2014, security experts warned of the increase of probes for the  Joomla JCE vulnerability that has been known now for several years, and addressed by updates, but it would seem that many Joomla site’s didn’t get the memo, or chose to ignore it.  As a developer, I must admit this is lucrative. Please, feel free to call on me if your site gets hacked, and I will be more than happy to help. Honestly though, it would be far more cost effective for you and easier for me if you just update your site and plugins before you get hacked.  Into the Wild… .

In some reported instances, site’s have been hacked using an SQL (database) exploits and in some cases injecting an adminstrative user without a name sometimes that doesn’t show in the wordpress admin but has full privileges.  This gives them access to editing tools that allows them to change files and settings, by which they can add malware, bypass security and otherwise wreak havoc.

Unfortunately for you,  if you are on the same  shared server as a vulnerable site, you can be just as vulnerable as they are, not only for hacks but for email reputation and site penalties. In a perfect hosting environment,  to protect their other customers the shared servers, webhosts would have been alerting those clients update or vacate, but that is not how it works, usually.

The best defense is always a good offense, and this adds to the many reasons that  for you to  to keep their CMS software, plugins and themes updated and patched. If you look at your access logs, you can see the queries for vulnerable software and holes, they are searching for the low hanging fruit.  Don’t be fruit.

Update, whether your website still works or not.

You will be making the the internet  a better place.

Photo by Clay Banks on Unsplash

This Just In, add GEO Tags!

Adding Geo Tags is often overlooked.

Maybe one of the reasons that its so overlooked is that Google doesn’t officially include it in their algorithms, or if they do, nobody is talking about it yet. In the video below, we get Google’s Matt Cutts explaining the importance of GEO in results, but that meta tags are not given much weight in the algorithm. This is a little dated, from 2009 but as far as I can tell its still the “official” Google policy.

But, if you have a specific locale business market, including these tags in your site headers, for Bing, Yahoo and yes, even Google is a smart move. It won’t hurt to made sure the right GEO options are set up in your Webmaster tools, especially in Google Webmaster, Analytics and especially Adsense. Doing so can give you better,(ie targeted and engaged) audience results for your campaigns.

I feel like on these posts about SEO and other website code, I should always insert a disclaimer that proper use of the GEO tags or any other code implementation for SEO optimization is never a substitution for killer quality and relevant content, active promotion and trust measures. Truly, there is no magic formula or code that can cheat the system or substitute for the elbow grease and hard work needed to truly get good SEO juice. And, if there was such a magic code or formula, with the rapidly changing landscape of the internet, in both the codes and the algorithms, what worked just one or two years ago, probably will not work tomorrow, if it is still working today.

Further Notes on H1 tags

Just a quick update on this subject. I would like to preface this with, I am by no means an SEO “guru” or marketer. However, I believe that to develop websites you have to to understand SEO and follow the best practices outlined by Google. So I try to incorporate current standards of optimization into both code and structure of the finished product, as well as in any content development of course.

One of the most important components of a page structure is the proper use of the “H” tags.  H in this case stands for headers and its just a delightful coincidence that they are hierarchical, which is indicated by the numbers 1-6 assigned to the H (H1, H2..H6) .  H1 being the most important header, and H6 being the least important.  Traditional page structure has been one H1 tag per page which is followed by content that. supported by varying headers (and supporting content) of lesser importance.

The changes in the rules on the H1 tag are due to the “new” structure and elements being used in HTML5, such as article,section and aside, as this article from tutsplus.com so eloquently explains.

Perhaps along with the new algorithms being released, there will be adjustments made, but it seems that mixing up a bunch of H1 tags on the same page, might still dilute the strength of what was explained to me by a real life SEO guru, as “the funnel” focus of the search engines on link and and page structure. It would seem that when evaluating a site, the search engine moves from point one to point two and if your structure isn’t clear, the crawler might not see your site or return results the way you would prefer. If you are wondering what the Hubub is about H1, another great article, by Kelsey Jones over at Search Engine Journal to help you further understand the importance of the H1 tag in the search results and the relevance of the related content to your visitors engagement, and your stats.

Finally, If you are like me, and wish to remove the H1 tags from widget titles, you will need to override the twentyfourteen sidebars in your child-theme function.php using “unregister_sidebar”, “remove_action”, and add_action, and then re-register them with the tags that you want:

function remove_twentyfourteen_widgets(){

unregister_sidebar( ‘sidebar-1’ );
unregister_sidebar( ‘sidebar-2’ );
unregister_sidebar( ‘sidebar-3’ );
}
add_action( ‘widgets_init’, ‘remove_twentyfourteen_widgets’, 11 );

function twentyfourteen_cms3_widgets_init() {

register_sidebar( array(
‘name’ => __( ‘Primary Sidebar’, ‘twentyfourteen’ ),
‘id’ => ‘sidebar-1’,
‘description’ => __( ‘Main sidebar that appears on the left.’, ‘twentyfourteen’ ),
‘before_widget’ => ‘<aside id=”%1$s” class=”widget %2$s”>’,
‘after_widget’ => ‘</aside>’,
‘before_title’ => ‘<h3 class=”widget-title”>’,
‘after_title’ => ‘</h3>’,
) );
register_sidebar( array(
‘name’ => __( ‘Content Sidebar’, ‘twentyfourteen’ ),
‘id’ => ‘sidebar-2’,
‘description’ => __( ‘Additional sidebar that appears on the right.’, ‘twentyfourteen’ ),
‘before_widget’ => ‘<aside id=”%1$s” class=”widget %2$s”>’,
‘after_widget’ => ‘</aside>’,
‘before_title’ => ‘<h3 class=”widget-title”>’,
‘after_title’ => ‘</h3>’,
) );
register_sidebar( array(
‘name’ => __( ‘Footer Widget Area’, ‘twentyfourteen’ ),
‘id’ => ‘sidebar-3’,
‘description’ => __( ‘Appears in the footer section of the site.’, ‘twentyfourteen’ ),
‘before_widget’ => ‘<aside id=”%1$s” class=”widget %2$s”>’,
‘after_widget’ => ‘</aside>’,
‘before_title’ => ‘<h3 class=”widget-title”>’,
‘after_title’ => ‘</h3>’,
) );
}

remove_action( ‘widgets_init’, ‘twentyfourteen_widgets_init’, 11 );
add_action( ‘widgets_init’, ‘twentyfourteen_cms3_widgets_init’, 11 );