marți, 21 decembrie 2010

SEOmoz Daily SEO Blog

SEOmoz Daily SEO Blog


Ranking Signals Hiding Beneath the Surface

Posted: 20 Dec 2010 04:12 PM PST

Posted by randfish

I've recently been thinking more about some ranking signals that in the past, I dismissed (perhaps foolishly). Some of these the engines have previously disavowed, while others don't get the attention or discussion they potentially deserve. My list includes:

  • Mentions of a domain / brand name - particularly in sources that the engine has classified as "news." I suspect we'd find a reasonable correlation and probably plenty of examples of domains that begin ranking once they earn these mentions.
  • Nofollow links from trusted sources - by running a bit of analysis across the domains on the web, engines could see, quite simply, who links to very good pages/domains and with what level of consistency. From there, it's an easy step to simply "count" those nofollowed links as followed or treat them similarly to the mentions above. This metric already gets a lot of attention, and our correlation data, at least, suggests that a high number of links/linking root domains with no-follows does correlate to better rankings.
  • LinkedIn + Twitter profile links - since these sites (and likely others like them) are used primarily by real humans, most of whom can't afford to have a spammy site seen by potential employers/networkers, these links are likely golden for search engine uses.
  • Traffic patterns via aggregated Google Analytics data - if the search quality team received a list of domains that sent/received traffic and the relative quantity levels, I suspect they could put this to use as a methodology to sort the spam from the real sites (spam tends not to send out traffic, nor receive it from a diverse range of good sites). It would also be an incredibly tough metric to game - how do you draw down lots of referral traffic from many unique high value sites (directly - most ads would get filtered) without actually being interesting and worth visiting?
  • Mobile visits, check-ins and interaction - Though still tough to determine/track compared to some other metrics, I'm thinking that a local business or relevant website only gets clicks and interactivity from mobile browsers/devices if it's highly relevant and useful. This could be another solid way to filter spam and get data for local/maps types of rankings (presuming the engines had access to the data at scale... can you say Android/Windows Mobile?) :-)
  • Links and references in Gmail - Again, it's unlikely Google's actually reading our email, but certainly the search quality team could get a list of the number and diversity of references to sites used in email (much the same way Gmail delivers "personalized" ads based on the content of emails)
  • Content that garners comments/UGC - if real people are actively participating on a site around unique content, I'd wager to guess that content is likely the type engines would want to rank. Things like comment RSS feeds, trackbacks and content uniqueness analysis could all be leveraged to help sort.
  • Rich media present on site and around the web - Spammers don't make a lot of unique graphics, images and photos. Likewise, they don't film original video, don't post podcasts, don't build Flash elements, upload Excel spreadsheets, graphically heavy PDFs, or the like. Real websites and businesses run by real people and businesses do. Since the engines already have the indexing and segmentation capacity, there's nothing to stop them from examining the data as a quality signal.

I'm not saying that Google/Bing are definitely using these, but I'd suspect that all of them have practical applications in improving search quality and relevancy. And, by running correlations and analysis of these datapoints ourselves (where possible), we may be able to learn more about what makes a site "look natural" and rank-worthy to the engines, particularly since so much of my email and our Q+A seems to be worried about false positives of late.

I'm curious - any other factors you think fit this pattern/system?


Do you like this post? Yes No

Michael Gray - Graywolf's SEO Blog

Michael Gray - Graywolf's SEO Blog


WordPress SEO Plugins – 2010

Posted: 21 Dec 2010 08:06 AM PST

Post image for WordPress SEO Plugins – 2010

I haven’t done an updated “Reccomended SEO Plugins for WordPress” since 2008, so I figure it’s about time to correct that problem.

SEO

Surprisingly, the number pure SEO plugins is relatively short. This is due to two factors: my use of Thesis as a Theme (see Thesis Theme Review) and WordPress SEO Plugin.

WordPress SEO – In the past, I haven’t been a huge fan of all-in-one SEO plugins, but this year Joost De Valk changed my mind. This plugin does the work of 8 plugins. It builds XML sitemaps, breadcrumbs, builds the canonical tag, takes care of robots, Google analytics, and more. Really, if you use only one plugin from this entire post, this is the one to get.

Scribe SEO – Scribe SEO is a plugin that checks your post for keyword focus and bunch of other SEO factors (see my Scribe SEO Review for more details). This plugin is part of paid service, but I can tell you it’s one I use, and it makes me more money every month. For an example on how to use it, check out How to Perform a Content Audit.

Dagon Design Sitemap Generator – An HTML sitemap is one of the key features of making your website more crawlable. This plugin builds the sitemap and updates itself when new pages or posts are added.

WP Super Cache – With the announcement that site speed became a ranking factor, you need to pay attention to site performance. Caching is one of the easiest ways to do it.

WPtouch – As smart phones become more ubiquitous, everyone is going to need a mobile-friendly version of their website. Rather than having two versions, though, this plugin takes care of all the heavy lifting for you.

Yet Another Related Posts Plugin – This is a great plugin because it allows you to expose your readers and the search engine spiders to other related content.

UTILITIES AND EDITING

This category makes up the largest group of plugins I use and recommend. Quite simply, these are tools that make WordPress better/easier to use.
Ad Injection – Allows you to inject ads randomly throughout your posts. Very configurable with a lot of options. Highly recommended.
AdRotate – If you sell ads or display affiliate ads, this plugin makes it easy to administer them without having to muck with the code. You can have multiple ad blocks and groups.
Blogroll Page – A big list of friend’s blogs down your sidebar is soooo 2005. Blogroll pages are where it’s at now. This plugin takes the list in your sidebar and puts them on page.
Custom sidebars – Sometimes you’ll want different sidebars for your posts, for social pieces, for advertising, or for any other number of reasons. This plugin makes it easy to do.
Dagon Design Form Mailer – A contact form with configurable options. The best part is you can have multiple forms if you need them.
Dashboard: Pending Review – This plugin let’s you know if there are posts waiting for review right in the dashboard.
Dashboard: Scheduled Posts – Shows you a list of the next posts scheduled to post right in your dashboard.
Dynamic Content Gallery – This puts a visual slider on your homepage and allows you to feature new or top content.
Exec-PHP – Sometimes you need to execute some PHP code in your posts. This plugin lets you do it.
Executable PHP widget – Same as above except in widget form for your sidebar.
FeedBurner FeedSmith – Does the whole feedburner redirection thing.
Future Calendar – Shows a calendar on your post edit pages. Every day with a scheduled post changes color. The more posts, the darker the color. This is essential if you do a lot of scheduled posts.
GoCodes – Simple redirection/ URL masking on your blog.
GZIP Output – Not sure why WordPress took this out but now it’s back.
Insights – Lets you execute searches on your blog or in Google from the editing dashboard, so there’s no need to open up a second link. Click the icon and the highlighted words are linked automagically. This plugin is a huge timesaver.
KB Linker – Lets you autolink words in your posts, which is essential for traffic and internal anchor text.
Login LockDown – WordPress is a piece of swiss cheese from a security standpoint, and this closes some of those holes. It’s better than nothing.
Ozh’ Admin Drop Down Menu – Puts the Admin bar back at the top where it should be.
Photo Dropper – Searches flickr for creative commons images and inserts the images and attribution automagically–another huge timesaver.
Post Template – Have a post that you make every week or month? Turn it into a template and save time.
Search & Replace – Sometimes you gotta change stuff. This plugin lets you do it quickly and easily. This is really powerful and there is no undo so use with caution.
Search Meter – Keeps track of what people are searching for on your website.
Simple Pull Quote - Adds those nifty looking pull quotes on your site to make you look much more professional.
Tidy Up – Cleans up your screwy HTML. Use with caution, especially if you have PHP in some posts.

Tweet old post – Tweets posts from your archives very configurable. SEO Crybabies don’t like it, but the rest of the world gobbles up your old content like freshly baked bread. Make sure to disable the dates though.

Viper’s Video Quicktags – Easy embedding of video from multiple sources.
Wikipedia nofollow – Do unto wikipedia as wikipedia does unto you: nofollow all links to the wiki automatically.
WordPress.com Stats – Puts quick stats right in your dashboard.
WordPress Editorial Calendar – A table-like calendar view of pending and scheduled posts with drop and drag editing. Another big timesaver if you schedule your posts.
WordPress Popular Posts – Let’s you do some magical stuff with your popular posts, like the images I have in my sidebar or on my updated popular posts page.
WP-EMail – Adds “email a post” functionality to your website.
WP-Print – Adds printer friendly pages to your website.
WP Minify – Reduces the whitespace in your code, making it just a little bit leaner and meaner.
WP Status Notifier – sends an email to an editor when a post is kicked into pending review status. It’s helpful for multi-author blog or blogs with an editor who cleans up your bad grammar and spelling (Hi Sara and thanks again!)

MAINTENANCE

Broken Link CheckerLinkrot is bad. This plugin identifies it so you can go fix it. I was amazed how much stuff goes away and how quickly it does. A very helpful plugin.

Optimize DB – Cleans up your DB, making it smaller and faster.

Redirection – Sometimes pages move; this helps you identify and fix the problems.

WordPress Database Backup – Essential for making backup of your WordPress database.

tla starter kit

Related posts:

  1. SEO Plugins for WordPress Part II Ever since my initial SEO plugins for wordpress post almost...
  2. SEO Plugins for WordPress This post is old and outdated, for a new version...
  3. WordPress SEO: WordPress Security Why it Matters to SEO In recent weeks wordpress security, or more correctly the lack...
  4. Two WordPress Plugins That Need to be Developed After my SEO plugins for wordpress and backend plugins for...
  5. WordPress SEO: How to Create Living URL’s If you watched any of the congressional hearings about the...

Advertisers:

  1. Text Link Ads - New customers can get $100 in free text links.
  2. BOTW.org - Get a premier listing in the internet's oldest directory.
  3. Ezilon.com Regional Directory - Check to see if your website is listed!
  4. Glass Whiteboards - For a professional durable white board with no ghosting, streaking or marker stains, see my Glass Whiteboard Review
  5. Need an SEO Audit for your website, look at my SEO Consulting Services
  6. Link Building- Backlink Build offers 45 PR5+ Backlinks for $295
  7. KnowEm - Protect your brand, product or company name with a continually growing list of social media sites.
  8. Scribe SEO Review find out how to better optimize your wordpress posts.
  9. TigerTech - Great Web Hosting service at a great price.

This post originally came from Michael Gray who is an SEO Consultant. Be sure not to miss the Thesis Wordpress Theme review.

WordPress SEO Plugins – 2010

White House Staff: It Gets Better

The White House Your Daily Snapshot for
Tuesday, Dec. 21,  2010
 

White House Staff: It Get Better

Inspired by President Obama’s It Gets Better video, several LGBT White House staffers decided to add their voices to the project. President Obama has more LGBT appointees than any previous administration and he is committed to making his administration reflect the diversity of our nation.

Watch the video.

White House Staff: It Gets Better

In Case You Missed It

Here are some of the top stories from the White House blog.

President Obama Signs Critical Legislation to Prevent Child Abuse and Domestic Violence
President Obama signs the reauthorization of the Child Abuse Prevention and Treatment Act (CAPTA) which includes the Family Violence Prevention and Services Act (FVPSA). This bill will help end abuse, give hope to victims, and provide families with the help they need.

Behind-the-Scenes: A Day of Service with President Obama and the Los Angeles Lakers
Watch President Obama and the Los Angeles Lakers team up with NBA Cares to spend time with the FBR Branch of The Boys and Girls Club of America.

Today's Schedule

All times are Eastern Standard Time (EST).

10:05 AM: The President and the Vice President receive the Presidential Daily Briefing

10:45 AM: The President meets with members of the Congressional Hispanic Caucus

11:00 AM: Briefing by Press Secretary Robert Gibbs WhiteHouse.gov/live

WhiteHouse.gov/live  Indicates events that will be live streamed on WhiteHouse.gov/live.

Get Updates

Sign Up for the Daily Snapshot 

Stay Connected

 

 

 
 
This email was sent to e0nstar1.blog@gmail.com
Manage Subscriptions for e0nstar1.blog@gmail.com
Sign Up for Updates from the White House

Unsubscribe e0nstar1.blog@gmail.com | Privacy Policy

Please do not reply to this email. Contact the White House

The White House • 1600 Pennsylvania Ave NW • Washington, DC 20500 • 202-456-1111 
 
 
  

 

Seth's Blog : The first rule of doing work that matters

[You're getting this note because you subscribed to Seth Godin's blog.]

The first rule of doing work that matters

Go to work on a regular basis.

Art is hard. Selling is hard. Writing is hard. Making a difference is hard.

When you're doing hard work, getting rejected, failing, working it out--this is a dumb time to make a situational decision about whether it's time for a nap or a day off or a coffee break.

Zig taught me this twenty years ago. Make your schedule before you start. Don't allow setbacks or blocks or anxiety to push you to say, "hey, maybe I should check my email for a while, or you know, I could use a nap." If you do that, the lizard brain is quickly trained to use that escape hatch again and again.

Isaac Asimov wrote and published 400 (!) books using this technique.

The first five years of my solo business, when the struggle seemed neverending, I never missed a day, never took a nap. (I also committed to ending the day at a certain time and not working on the weekends. It cuts both ways.)

In short: show up.

  • Email to a friend

More Recent Articles

Don't want to get this email anymore? Click the link below to unsubscribe.


Click here to safely unsubscribe now from "Seth's Blog" or change your subscription, view mailing archives or subscribe

Your requested content delivery powered by FeedBlitz, LLC, 9 Thoreau Way, Sudbury, MA 01776, USA. +1.978.776.9498

 

luni, 20 decembrie 2010

Mish's Global Economic Trend Analysis

Mish's Global Economic Trend Analysis


Grand Rapids Michigan Outsources Airport Parking Operations To Private Firm

Posted: 20 Dec 2010 03:58 PM PST

The trend towards dumping public unions continues to escalate in cities across the country. Latest on the list is from Michigan where a board votes to outsource parking operations at Grand Rapids airport
Airport leaders unanimously selected a private firm to take over parking operations at Gerald R. Ford International Airport today, despite impassioned pleas by employees who will now have to reapply for their jobs and likely face pay and benefit cuts.

The vote to select Chicago-based Standard Parking to manage parking came after several parking employees that are now employed by Kent County spoke during the public comment period. The group questioned the fairness of the process and asked the board to delay the vote and give them more time to negotiate to keep their current jobs.

Finance Director Brian Picardat and airport leaders said the decision was difficult and based on a projected savings of $1.5 million over five years, even after a wage concession offered by current parking employees was factored in.
In an article just prior to the decision, the Grand Rapids Press noted ...
Parking agents who do maintenance and assist customers can make between $14 to $19 an hour, not including tips. Those jobs also come with nearly a 33 percent medical and fringe benefit package.

Airport Director Jim Koslosky said the decision was tough because union leaders offered wage concessions that would have reduced the hourly pay rate to around $13 an hour, saving about $135,000 a year. But, even factoring in the wage concessions, airport staff determined that going with the private company would still result in a net savings of $1.5 million over five years. Without the wage concessions, the switch would save $1.9 million over five years.

"Standard Parking already operates the airport's express shuttle lot and valet parking services, Koslosky said. The firm beat out five other companies that bid on the contract, including Grand Rapids-based Ellis Parking.
The union members are complaining about fairness.

What can possibly be more fair to everyone than putting the contract out to bid to 5 competing firms and taking the best offer?

What's 100% fair is to watch out for taxpayers, not unions.

Expect outsourcing to intensify. It will be a major theme in 2011, and a very welcome them at that. Taxpayers have simply had enough.

Mike "Mish" Shedlock
http://globaleconomicanalysis.blogspot.com
Click Here To Scroll Thru My Recent Post List


Unintended Consequences

Posted: 20 Dec 2010 11:01 AM PST

Here is an interesting video about the unintended consequences of various government actions. Ignore the lead-in message about hyperinflation and the scratchy-sounding start of a Fox News segment on BP and oil in the Gulf. Once the video gets going, the message about unintended consequences is very well presented.



Link to Video: http://www.youtube.com/watch?v=Ij4H9M55c64

Mike "Mish" Shedlock
http://globaleconomicanalysis.blogspot.com
Click Here To Scroll Thru My Recent Post List


New York Times 10th Annual Year in Ideas; #1 Idea: Do-It-Yourself Macroeconomics

Posted: 20 Dec 2010 09:37 AM PST

For the past 10 years, at the end of the year, the New York Times discusses 10 ideas for the past year. The ideas vary widely and may pertain to social trends, sports, or war. The lead-in idea for 2010 was "Do-It-Yourself Macroeconomics".

It certainly is an honor to be mentioned along with the Big Picture and Calculated Risk. Here is a snip from the 10th Annual Year in Ideas.
For the 10th consecutive December, the magazine has chosen to look back on the past year through a distinctive prism: ideas.

Our digest of short entries refracts the light beam of human inspiration, breaking it up into its constituent colors — innovations and insights from a spectrum of fields, including economics, biology, engineering, medicine, literature, sports, music and, of course, raw-meat clothing. Happy thinking!

D.I.Y. Macroeconomics

Until recently, the economics profession largely controlled the production, dissemination and interpretation of economic data. Now there's a new trend afoot: do-it-yourself macroeconomics, in which ordinary citizens pull apart the data and come to their own conclusions.

The democratization of economics owes much to the financial crisis that first hit in 2007. That ongoing catastrophe, which few economists predicted, tarnished the profession's reputation, prompting some to look elsewhere for answers. They turned to — where else? — the Internet, where vast amounts of economic data that had once been hidden from public view were now online. Sites like FRED, maintained by the Federal Reserve Bank of St. Louis, enabled anyone with a connection to the Web to download data on everything from local home-price indexes to credit-card balances to weekly fluctuations in diesel prices.

At the same time, a growing army of knowledgeable "econo-bloggers" began analyzing the data available online. Strikingly, many of the authors of these blogs — the brains behind the Big Picture, Calculated Risk, Mish's Global Economic Trend Analysis and others — aren't academic economists but people with real-world experience in financial markets. Their Web sites offer sophisticated interpretations of economic data and hold passionate debates with their readers over the merits of the data. As a result, economic data that were formerly greeted with grudging acceptance by the public — the latest unemployment figures, for example — are now the catalyst for endless popular exegeses.
Please see the article for a wide variety of other ideas.

Mike "Mish" Shedlock
http://globaleconomicanalysis.blogspot.com
Click Here To Scroll Thru My Recent Post List


SEOmoz Daily SEO Blog

SEOmoz Daily SEO Blog


Excel For SEOs: Manipulating URL Strings with Functions

Posted: 19 Dec 2010 01:17 PM PST

Posted by MikeCP

Over the past few months, I've been preparing a guide with the tentative title, Excel for SEOs: Lessons for Aspiring Ninjas. I've embarked on this great journey because sometime during the #Mozinar back in September I decided that my Excel abilities were far too limited, especially compared to all the smarty pants that were giving great presentations and advice about SEO data analysis.

After talking with some of my colleagues I found that I wasn't alone in my feelings of Excel inadequacy. So Excel for SEOs: Lessons for Aspiring Ninjas was born as a means to help others by documenting my quest for Excel Ninj-ocity. The full document will be released sometime in January, but here is a selection that I hope provides some value alone.

While having a working knowledge of the functions described below can help with a multitude of SEO tasks, the specific tasks that we'll be completing in the following include:

  1. Isolating the root domains from a group of full URLs
  2. Stripping the descriptive portion of a URL out of the full URL

-----SNIP-----

Lesson 2: More Functions - Text Manipulation

The functions on which we'll be focusing in this lesson are useful for dealing with text manipulation. As we'll see from the examples, there are quite a few scenarios wherein the SEO has to manipulate a text string. Some of the formulas we'll talk about are pretty simple to grasp individually, but can get a bit confusing when used together. We'll touch on:

  • LEN
  • SEARCH/FIND
  • LEFT, RIGHT, MID

LEN

Microsoft Excel Definition: Returns the number of characters in a text string.

Syntax: LEN(text)

Example of LEN function
I doubt this requires much explanation. LEN alone is fairly useless. Sorry LEN.

SEARCH/FIND

Microsoft Excel Definition:
SEARCH -
Returns the number of the character at which a specific character or text string is first found, reading left to right (not case-sensitive).
FIND - Returns the starting position of one text string within another text string. FIND is case-sensitive.

Syntax: SEARCH(find_text,within_text,start_num) and FIND(find_text,within_text,start_num)

There are two differences between SEARCH and FIND. SEARCH is not case-sensitive, FIND is. SEARCH allows the use of wildcards, FIND does not. Under most circumstances, SEARCH is all you need, but it helps to know that FIND is always there if you've got to deal with pesky capital letters in URLs or something similar. Another reason to choose FIND is if you're dealing with URLs that contain parameters. Without properly escaping question marks, they will act as wild cards, which may cause some frustration.

In our example below, we've pulled out the character number at which the "/blog/" string begins. Much like LEN, this function is a bit silly on its own, but can be combined with some of our other functions to do some cool things.

Excel SEARCH function at work
This is good but its not very pretty, let's use IFERROR to get rid of those #VALUE!s

The IFERROR syntax: IFERROR(value,value_if_error)

Excel SEARCH and IFERROR functions at work
So much better!

LEFT, RIGHT, MID

Microsoft Excel Definition:
LEFT:
Returns the specific number of characters from the start of a text string.
RIGHT: Returns the specific number of characters from the end of a text string.
MID: Returns the characters from the middle of a text string, given a starting position and length.

Syntax:
LEFT(text,num_chars)
RIGHT(text,num_chars)
MID(text,start_num,num_chars)

Both LEFT and RIGHT return the characters from a given position in a text string starting from either side of a string. MID is great for extracting a portion of a text string. I've lumped the three together because they are often used in conjunction with each other (along with a few of the earlier functions). Let's dive into an example:

Bringing it all together - Example 1

Let's say we've been given a list of URLs, and we want to extract just the domain.

Using LEFT and SEARCH together

This formula will do the job. Let's break down this nested formula, and see how it pulls just the domain out of our URL. Starting from the middle we see SEARCH, which uses the syntax:

SEARCH(find_text,within_text,start_num)

In plain terms, this formula finds the first instance of "/" in the cell to the left, starting at the 8th character from the beginning, which is done to start passed the double slash in http://. As we see below, the result for the first row of data is 22.

Inner function calculated
The same formula with the inner function calculated

Now we are left with a simple LEFT formula. Remember, the syntax for LEFT is LEFT(text,num_chars).

In plain terms: Give us the first 22 characters starting from the beginning. The number of characters differs depending on URL, but adjusts accordingly when applied to the rest of the table. We now have a nice listing of just root domains.

root domains calculated with Excel functions
Our list of root domains. The formula reflects the change to a table format from the simple range used previously.

Example 2

Let’s use SEARCH (with wildcards) and MID together to extract a portion of a URL:

A list of raw URLs
Let's assume we want to pull the descriptive piece out of each of these URLs for reporting purposes

We’ll definitely be making use of MID, as the text we want is in the MIDdle of our string. We’ll need to determine how many characters make up the "-tXXX.html" bit at the end of each URL. Since the length of this portion of the URL varies, but the format doesn’t (that is, "-t" + "numbers" + ".html"), we can use wildcards to find this character count.

Again, the syntaxes for these 2 functions:
MID(text,start_num,num_chars)
SEARCH(find_text,within_text,start_num)

Let's break down the formula for the first URL in our list.

Cell A2: http://www.example.com/lamp-maintenance-t83.html

 =MID(A2,SEARCH("/",A2,8),SEARCH("-t*.html",A2)-SEARCH("/",A2,8)) =MID(A2,23, SEARCH("-t*.html",A2)-23) 

We've calculated the first instance of a "/" after the 8th character. This gives us our start_num values. We're also using the * wildcard to help us get the character count of the right-most chunk of text.

 =MID(A2,23,SEARCH("-t*.html",A2)-23) =MID(A2,23,40-23) 

We can easily calculate the number of characters for our MID once we know where our non-descriptive characters begin.

 =MID(A2,23,17) /lamp-maintenance 

Hooray!

Example 2.5

Let's make a small adjustment to our original URL to demonstrate how we can use LEN in this formula.

Cell A2: http://www.example.com/t1521-lamp-maintenance.html

 =MID(A2,SEARCH("-",A2)+1,LEN(A4)-SEARCH("-",A2)-5) =MID(A2,29+1,50-29-5) lamp-maintenance 

The additional +1 and -5 are necessary to make minor adjustments to the final outcome. Without them, our final result would have been "-lamp-maintenance.html".

-----SNIP-----

Thus concludes the sample lesson on manipulating text strings in Excel. I hope you've found it useful, and not too confusing!

If you have any questions, ask away in the comments and follow me (@MikeCP) and @Distilled on Twitter for more info on the full release of Excel for SEOs: Lessons for Aspiring Ninjas. There's much more where this came from, including bits on pivot tables, VLOOKUP, Index/Match, OFFSET, and more!


Do you like this post? Yes No