Just realized my automated cross-posting tool was not including images. Whoops. Imadumbhead. That should be fixed going forward. Sorry guys.
Since I have a web site, and since my web site has a contact form, I occasionally get garbage in my inbox from SEO marketing weasels. These emails are hilarious; each is equally desperate, dishonest, shady, and pathetic.
I’m starting a new hobby. As I get new SEO weasel pitches in my inbox, I’ll post the good ones here followed by a quick review, highlighting the best worst parts. Let’s begin:
Dear business owner of Abouthalf.com
I would like to take a few minutes from your schedule and ask for your attention towards Internet marketing for Abouthalf.com.
As a business Owner you might be interested to gain profit by placing your website among top in search engines. Your website needs immediate improvement for some major issues with your website.
-Low online presence for many competitive keyword phrases
-Unorganized social media accounts
-Not compatible with all mobile devices
-Many bad back links to your website
Looking at the above issues and other additional improvements for your website, I would request you to give us a chance to fix those issues. Our team of Search Engine and Social Media experts are here to serve you with best inputs. If you are interested in learning more about current status of your website, we would be glad to share WEBSITE AUDIT REPORT of Abouthalf.com for FREE.
You will feel the difference once you get services from our company as we never let our clients expectations go down. Being at the top left of Google (#1- #3 organic positions) is the best thing you can do for your company’s website traffic and online reputation. You will be happy to know that, my team is willing to guarantee you 1st page Google ranking for your targeted local keyword phrases.
If my proposal sound’s interesting for your business goal, feel free to email us, or can provide me with your phone number and the best time to call you. I am also available for an online meeting to present you this website audit report.
PSI: I am not spamming. I have studied your website and believe I can help with your business promotion. If you still want us to not contact you, you can ignore this email or ask to remove and I will not contact again.
PS II: I found your site using Google search and after having a look over your website I recommend you to implement future technologies such as HTML5 and Responsive Design to make your site more accessible in mobile phone, tablets, desktop etc.
Ha ha. Let’s review:
I like the strange and inconsistent capitalization through out the email. We have mixed case for “Internet marketing” and “business Owner” and then OMG “WEBSITE AUDIT REPORT” for “FREE”. Somehow they manage to capitalize “Abouthalf.com” throughout. Good job.
“I found your site using Google search…” which is obviously why I need help from an SEO weasel. I can be found on Google.
“I recommend you to implement future technologies such as HTML5 and Responsive Design to make your site more accessible in mobile phone, tablets, desktop etc.”
And by the way…
“PSI: I am not spamming.”
No, of course you’re not.
cross-posted from Abouthalf.com: http://ift.tt/1la69pz
Since most visitors to Abouthalf.com are coming from Google or Twitter, I thought I would make it easier for folks (and Google) to find related content. Previously, a “link” formatted post would have precious little there beyond my commentary and the link itself. Likewise a picture post would have a picture and nothing else. To fix this shortcoming I’ve added a list of posts sharing the same tags to each post page.
I use a simplified approach to my WordPress theme. Instead of having an included template file for each post type, headers, footers, and the like, I just have a single index.php template and a comments template.
Within the main loop, in the section handling blog posts (not pages, search results, or archives) I added the following block.
<?php /* Related posts */ ?> <?php $currentPost = get_post(); $currentId = $currentPost->ID; $postTags = wp_get_post_tags($currentPost->ID,array('fields'=>'ids')); $relatedArgs = array( 'tag__in' => $postTags, 'post__not_in' => array($currentId), 'orderby' => 'date', 'order' => 'DESC' ); ?> <?php if (is_single() && count($postTags)) : $relatedPostsQuery = new WP_Query($relatedArgs); ?> <?php if ($relatedPostsQuery->post_count) : ?> <article id="related" class="post format-standard related-posts"> <div class="post-head"> <h2 class="post-title"><i class="icon-tags"></i> Related posts</h2> <p class="postmetadata small"> <?php the_tags('Recent posts with tags: ', ', ', ''); ?> </p> </div> <div class="entry"> <ul> <?php while($relatedPostsQuery->have_posts()) : $relatedPostsQuery->the_post(); $relatedExcerpt = trim(str_replace(' ','',get_the_excerpt())); ?> <li> <p class="big"> <a href="<?php the_permalink() ?>" rel="bookmark" title="Permanent link to <?php the_title_attribute(); ?>"> <?php the_title(); ?> </a> </p> <p><?php print $relatedExcerpt; ?></p> </li> <?php endwhile; ?> </div> </article> <?php endif; // end if post_count ?> <?php endif; // end if is_single, if count tags ?> <?php wp_reset_postdata(); // reset to main loop ?>
This works by, first, getting a reference to the current blog post, its tags, and its ID. I assemble these into a arguments array intended for use with the WP_Query class.
Then, if the page is a “single” page — meaning this page is showing a single blog post and not archives, a home page, or a search result — and if the current post has tags I make a new WP_Query object with the arguments assembled above. If the new query has posts, I create a sub-loop to display the related posts. Within the sub-loop are standard WordPress template tags. The only thing special here is a little formatting on the post excerpt:
$relatedExcerpt = trim(str_replace(' ','',get_the_excerpt()));
After this work is done, outside of the first if-is-single-and-has-tags block – I call
wp_reset_postdata() to restore all the post global variables and functions to the main loop. This prevents potential goobers from having too loops.
Share and enjoy!
cross-posted from Abouthalf.com: http://ift.tt/1ehVgtd
cross-posted from Abouthalf.com: http://ift.tt/1fk25PE
via An A List Apart
cross-posted from Abouthalf.com: http://ift.tt/1kyvLfp
Since version 9, Internet Explorer has included some very good developer tools, including an emulator which allowed you to view a web page using an earlier version. This allowed for you to do quick and dirty testing of your site in various versions of IE.
“Conditional comments” are specially formatted HTML comments which were implemented in early versions of IE. These comments contain conditional logic which identify a version or range of versions of Internet Explorer. Modern web authors use these conditional comments to isolate scripts and styles for early versions of Internet Explorer which are incompatible with today’s web standards.
The lack of support for these conditional comments in IE 11′s emulator means that testing in IE11′s alone will fail you if your design relies on conditional comments. If your site or web app does not require conditional comments, IE 11′s emulator will probably work fairly well. But your best bet is to use one of Microsoft’s freely provided Virtual Machines to test old versions of IE.
cross-posted from Abouthalf.com: http://ift.tt/1kyvLfe