Best Practices-Optimize Theme Before Coding or After Coding?
-
We purchased a Wordpress Real estate theme called wpcasa. My developer started coding it. We hired a new SEO. The SEO looked at a simple page (About Us) and saw about 70 Java scripts and 11 templates and was very dissatisfied with the coding and heavy source code contained in the theme. My SEO claims the optimizing this theme (removing the unnecessary Java Scripts and combining the templates is way too much work and that it would be better to start from scratch and purchase a theme like https://my.studiopress.com/themes/agentpress/ with more compact, efficient and streamlined code. Problem is we need to throw out 2 months and thousands of dollars worth of code. My SEO says that in the day of Google's "mobile first" streamlined code is particularly important. My developer has taken the position that the code can be cleaned up after the design. Where it seems my SEO wants clean code to stat with. I don't know who to is right. Any ideas? Am I better of starting from scratch with a new more efficient theme, or cleaning up the code on the wpcasa theme?
The code for the test page is below. Thanks!
| |
| | lang="en-US" prefix="og: http://ogp.me/ns#"> |
| | |
| | charset="UTF-8"> |
| | http-equiv="X-UA-Compatible" content="IE=edge"> |
| | name="viewport" content="width=device-width, initial-scale=1"> |
| | rel="profile" href="http://gmpg.org/xfn/11"> |
| | rel="pingback" href="http://dev.metro-manhattan.com/xmlrpc.php"> |
| | |
| | <title></span>About Metro Manhattan - Metro Manhattan Office Space<span class="html-tag"></title> |
| | |
| | |
| | |
| | name="description" content="New York City real estate brokerage service helps business tenants acquire office, commercial loft, retail or showroom space anywhere in Manhattan."/> |
| | name="robots" content="noindex,follow"/> |
| | property="og:locale" content="en_US" /> |
| | property="og:type" content="article" /> |
| | property="og:title" content="About Metro Manhattan - Metro Manhattan Office Space" /> |
| | property="og:description" content="New York City real estate brokerage service helps business tenants acquire office, commercial loft, retail or showroom space anywhere in Manhattan." /> |
| | property="og:url" content="http://dev.metro-manhattan.com/about-us/" /> |
| | property="og:site_name" content="Metro Manhattan Office Space" /> |
| | name="twitter:card" content="summary_large_image" /> |
| | name="twitter:description" content="New York City real estate brokerage service helps business tenants acquire office, commercial loft, retail or showroom space anywhere in Manhattan." /> |
| | name="twitter:title" content="About Metro Manhattan - Metro Manhattan Office Space" /> |
| | name="twitter:image" content="http://dev.metro-manhattan.com/wp-content/uploads/2018/07/process-01.png" /> |
| | |
| | |
| | rel='dns-prefetch' href='//maps.googleapis.com' /> |
| | rel='dns-prefetch' href='//maxcdn.bootstrapcdn.com' /> |
| | rel='dns-prefetch' href='//fonts.googleapis.com' /> |
| | rel='dns-prefetch' href='//s.w.org' /> |
| | rel="alternate" type="application/rss+xml" title="Metro Manhattan Office Space » Feed" href="http://dev.metro-manhattan.com/feed/" /> |
| | rel="alternate" type="application/rss+xml" title="Metro Manhattan Office Space » Comments Feed" href="http://dev.metro-manhattan.com/comments/feed/" /> |
| | rel="alternate" type="application/rss+xml" title="Metro Manhattan Office Space » About Metro Manhattan Comments Feed" href="http://dev.metro-manhattan.com/about-us/feed/" /> |
| | |
| | |
| | rel='stylesheet' id='font-awesome-css' href='http://dev.metro-manhattan.com/wp-content/plugins/menu-icons/vendor/kucrut/icon-picker/css/types/font-awesome.min.css?ver=4.7.0' type='text/css' media='all' /> |
| | rel='stylesheet' id='menu-icons-extra-css' href='http://dev.metro-manhattan.com/wp-content/plugins/menu-icons/css/extra.min.css?ver=0.11.2' type='text/css' media='all' /> |
| | rel='stylesheet' id='contact-form-7-bootstrap-style-css' href='http://dev.metro-manhattan.com/wp-content/plugins/bootstrap-for-contact-form-7/assets/dist/css/style.min.css?ver=4.9.5' type='text/css' media='all' /> |
| | rel='stylesheet' id='wpsight-favorites-css' href='http://dev.metro-manhattan.com/wp-content/plugins/wpcasa-favorites/assets/css/wpsight-favorites.min.css?ver=4.9.5' type='text/css' media='all' /> |
| | rel='stylesheet' id='wpsight-listing-labels-css' href='http://dev.metro-manhattan.com/wp-content/plugins/wpcasa-listing-labels/assets/css/wpsight-listing-labels.min.css?ver=4.9.5' type='text/css' media='all' /> |
| | rel='stylesheet' id='wpsight-listings-map-css' href='http://dev.metro-manhattan.com/wp-content/plugins/wpcasa-listings-map/assets/css/wpsight-listings-map.min.css?ver=4.9.5' type='text/css' media='all' /> |
| | rel='stylesheet' id='wpfront-notification-bar-css' href='http://dev.metro-manhattan.com/wp-content/plugins/wpfront-notification-bar/css/wpfront-notification-bar.css?ver=1.7' type='text/css' media='all' /> |
| | rel='stylesheet' id='wpfront-scroll-top-css' href='http://dev.metro-manhattan.com/wp-content/plugins/wpfront-scroll-top/css/wpfront-scroll-top.min.css?ver=2.0.1' type='text/css' media='all' /> |
| | rel='stylesheet' id='chld_thm_cfg_parent-css' href='http://dev.metro-manhattan.com/wp-content/themes/wpcasa-london/style.css?ver=4.9.5' type='text/css' media='all' /> |
| | rel='stylesheet' id='fontawesome.min.css-css' href='http://dev.metro-manhattan.com/wp-content/themes/wpcasa-london-child/assets/css/fontawesome.min.css?ver=4.9.5' type='text/css' media='all' /> |
| | rel='stylesheet' id='load-fa-css' href='https://maxcdn.bootstrapcdn.com/font-awesome/4.1.0/css/font-awesome.min.css?ver=4.9.5' type='text/css' media='all' /> |
| | rel='stylesheet' id='wpcasa-london-css' href='http://dev.metro-manhattan.com/wp-content/themes/wpcasa-london-child/style.css?ver=4.9.5' type='text/css' media='all' /> |
| | rel='stylesheet' id='bootstrap-css' href='http://dev.metro-manhattan.com/wp-content/themes/wpcasa-london/vendor/twbs/bootstrap/css/bootstrap.css?ver=3.3.6' type='text/css' media='all' /> |
| | rel='stylesheet' id='bootstrap-dropdownhover-css' href='http://dev.metro-manhattan.com/wp-content/themes/wpcasa-london/vendor/kybarg/bootstrap-dropdown-hover/css/bootstrap-dropdownhover.min.css?ver=1.0.0' type='text/css' media='all' /> |
| | rel='stylesheet' id='bootstrap-select-css' href='http://dev.metro-manhattan.com/wp-content/themes/wpcasa-london/vendor/silviomoreto/bootstrap-select/css/bootstrap-select.min.css?ver=1.10.0' type='text/css' media='all' /> |
| | rel='stylesheet' id='awesome-bootstrap-checkbox-css' href='http://dev.metro-manhattan.com/wp-content/themes/wpcasa-london/vendor/flatlogic/awesome-bootstrap-checkbox/awesome-bootstrap-checkbox.min.css?ver=0.3.7' type='text/css' media='all' /> |
| | rel='stylesheet' id='pushy-css' href='http://dev.metro-manhattan.com/wp-content/themes/wpcasa-london/assets/css/pushy.css?ver=1.2.1' type='text/css' media='all' /> |
| | rel='stylesheet' id='lightslider-css' href='http://dev.metro-manhattan.com/wp-content/themes/wpcasa-london/vendor/sachinchoolur/lightslider/css/lightslider.min.css?ver=1.1.5' type='text/css' media='all' /> |
| | rel='stylesheet' id='lightgallery-css' href='http://dev.metro-manhattan.com/wp-content/themes/wpcasa-london/vendor/sachinchoolur/lightgallery/css/lightgallery.min.css?ver=1.2.15' type='text/css' media='all' /> |
| | rel='stylesheet' id='animate-css' href='http://dev.metro-manhattan.com/wp-content/themes/wpcasa-london/assets/css/animate.min.css?ver=1.2.1' type='text/css' media='all' /> |
| | rel='stylesheet' id='dashicons-css' href='http://dev.metro-manhattan.com/wp-includes/css/dashicons.min.css?ver=4.9.5' type='text/css' media='all' /> |
| | rel='stylesheet' id='google-fonts-css' href='//fonts.googleapis.com/css?family=Lato:700,400|Raleway:400,300&subset=latin' type='text/css' media='all' /> |
| | rel='stylesheet' id='wpmtst-custom-style-css' href='http://dev.metro-manhattan.com/wp-content/plugins/strong-testimonials/public/css/custom.css?ver=4.9.5' type='text/css' media='all' /> |
| | rel='stylesheet' id='zcffront-jquery-ui-css' href='http://dev.metro-manhattan.com/wp-content/plugins/zoho-crm-forms/assets/css/jquery-ui.css?ver=4.9.5' type='text/css' media='all' /> |
| | rel='stylesheet' id='zcffront-end-styles-css' href='http://dev.metro-manhattan.com/wp-content/plugins/zoho-crm-forms/assets/css/frontendstyles.css?ver=4.9.5' type='text/css' media='all' /> |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | rel='https://api.w.org/' href='http://dev.metro-manhattan.com/wp-json/' /> |
| | rel="EditURI" type="application/rsd+xml" title="RSD" href="http://dev.metro-manhattan.com/xmlrpc.php?rsd" /> |
| | rel="wlwmanifest" type="application/wlwmanifest+xml" href="http://dev.metro-manhattan.com/wp-includes/wlwmanifest.xml" /> |
| | name="generator" content="WordPress 4.9.5" /> |
| | rel='shortlink' href='http://dev.metro-manhattan.com/?p=3800' /> |
| | rel="alternate" type="application/json+oembed" href="http://dev.metro-manhattan.com/wp-json/oembed/1.0/embed?url=http%3A%2F%2Fdev.metro-manhattan.com%2Fabout-us%2F" /> |
| | rel="alternate" type="text/xml+oembed" href="http://dev.metro-manhattan.com/wp-json/oembed/1.0/embed?url=http%3A%2F%2Fdev.metro-manhattan.com%2Fabout-us%2F&format=xml" /> |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | rel="icon" href="http://dev.metro-manhattan.com/wp-content/uploads/2018/06/metromanhattan_icon-75x75.png" sizes="32x32" /> |
| | rel="icon" href="http://dev.metro-manhattan.com/wp-content/uploads/2018/06/metromanhattan_icon.png" sizes="192x192" /> |
| | rel="apple-touch-icon-precomposed" href="http://dev.metro-manhattan.com/wp-content/uploads/2018/06/metromanhattan_icon.png" /> |
| | name="msapplication-TileImage" content="http://dev.metro-manhattan.com/wp-content/uploads/2018/06/metromanhattan_icon.png" /> |
| | |
| | |
| | |
| | |
| | |
| | class="page-template page-template-page-tpl-about page-template-page-tpl-about-php page page-id-3800 page-parent custom-background wpsight-london" itemscope itemtype="http://schema.org/WebPage"> |
| | |
| | |
| | id="top" class="site-wrapper"> |
| | |
| | |
| | class="header-widgets"> |
| | |
| | class="header-full-width"> |
| | id="section-wpsight_london_listings_search-2" class="widget-section section-widget_listings_search">id="wpsight_london_listings_search-2" class="widget widget_listings_search"> <form <span="" class="html-attribute-name">method="get" action="http://dev.metro-manhattan.com/search/" class="wpsight-listings-search horizontal"></form> |
| | |
| | class="listings-search-default"> |
| | class="row gutter-30"> |
| | class="listings-search-field listings-search-field-text listings-search-field-keyword col-xs-12 col-sm-9"> |
| | class="listing-search-keyword text form-control" title="Keyword or Listing ID…" name=" | -
The great thing about Themes is pretty much over 90 something percent of them are under 100 bucks. In all honesty, there's like maybe a handful that is just simply amazing! I personally love Divi. I've tried many themes, the only one I really need outside of Divi is my retro tube for an adult niche.
The problem with a platform like WordPress is that there are a LOT of themes. Which means naturally a LOT of themes will most likely SUCK. If it becomes even slightly a hassle, in the beginning, I would get out dodge and get a better one quick.
Take it from me and my poor experiences trying desperately to make my theme not suck for the first website I ever made. I did eventually but thinking back on it, that was such a torturously miserable painful process. A few traits of themes to avoid:
- Top heavy visual builders
- Ridiculously large amounts of mandatory plugins. (install as few as possible is a great practice to follow) Some sites I have like literally just use Yoast and do quite well.
- Not having some form of responsiveness. With so many optional frameworks easily attached, there is no excuse.
431 premade page layouts, Email popup software Bloom/social share software called Monarch. I would go with either Either that one or just ridiculously godly fast like Generate Press which utilizes varnish.
And in reference to optimizing before or after the process of configuring a theme for your site, it's actually both. Any well optimized site, will involve modifying content frequently and I would definitely suggest optimizing everything you have right away or as quickly as possible
Got a burning SEO question?
Subscribe to Moz Pro to gain full access to Q&A, answer questions, and ask your own.
Browse Questions
Explore more categories
-
Moz Tools
Chat with the community about the Moz tools.
-
SEO Tactics
Discuss the SEO process with fellow marketers
-
Community
Discuss industry events, jobs, and news!
-
Digital Marketing
Chat about tactics outside of SEO
-
Research & Trends
Dive into research and trends in the search industry.
-
Support
Connect on product support and feature requests.
Related Questions
-
Google Indexing Multi-Store Best Practice
Hi Guys, We currently have a main store view and a uk store view setup with a Litespeed Redirect for our website, redirecting UK IP Customers to the UK Store. We recently noticed that we were running into some issues with Google indexing pages from the uk site as well as the main store view. With trying to avoid duplicate content, my question being: What is the best practice for google indexing the UK and Main store views? Any advice would be greatly appreciated. Thanks.
Web Design | | centurysafety0 -
Redirect based on location best practice clarification?
Hi, i have a question that i have seen some other have also had. The question is what is the best practice to serve the location specific page to the user (based on their location)? This post (http://www.seomoz.org/q/redirecting-users-based-on-location) suggests against automatically redirecting the user based on IP address. I guess the primary concern is that Google bot will also be redirected in this case... I see a number of well known sites use automatic redirect based on location. Take Urbanspoon for example (http://www.urbanspoon.com/), they use a 302 redirect to redirect to location specific page. Do they not redirect Google bot? Is there any way to test this? Can creating a rule to exclude crawlers from redirect cause SEO problems? How? Another example that i am somewhat confused as to how it works effectively is groupon.com.au It selects my closest city (i assume using IP), however the URL stays as the root URL. For example, i typed in http://www.groupon.com.au/ and it stays as http://www.groupon.com.au/ with the city chosen as "Melbourne". The canonical url for this page is the root URL (ie http://www.groupon.com.au/). If you then select "change city" and click the same city (ie Melbourne), it redirects to http://www.groupon.com.au/deals/melbourne. Canonical URL of this page is http://www.groupon.com.au/deals/melbourne. How is this not duplicate content? Can you please advise on the best way to redirect (ideally automatically), to provide the best user experience, while still having Google bot able to crawl the site effectively? Thanks
Web Design | | blackrails0 -
Best Website Builder - Help Me Choose
I need to built a multi language site (to built a Pilates, Yoga site) and I will use a site builder. After posting questions on wix.com I came to the fact I should continue my research because there are not SEO friendly. Do you have a suggestions? Limited to html knowledge, using a website builder is my only option. Here are some of the features I need: Multilanguage Web Site Mobile version SEO Friendly Nice Template Selections( this is important) HTML customization Twitter, Facebook, Blog... I'm not looking at free website builder, when you want good features, there is a price to paid. Thank you for your help and suggestions, BigBlaze
Web Design | | BigBlaze2050 -
How to best correct cannibalization?
I apologize if this has already been answered, but after reading several posts on cannibalization, I can't seem to find what I am looking for. The site in question is www.urbanitystudios.com and in particular the term "western wedding invitation". We rank in the top 30 for this term in Google, but Google has indexed a particular product, versus our western wedding invitation collection page. The product that is indexed for this term: http://www.urbanitystudios.com/Designs/western-wedding-invitations-p-1527.html The page that we would rather be indexed: http://www.urbanitystudios.com/Designs/western-wedding-invitations-c-95_179_181.html After running an onpage report in SEOmoz tools for the collection page, we recieve an A grade, but get a warning on the cannibalization line item. As you can see, we name each product within that collection as "Western Wedding Invitation-x" (and have done this for other product categories...not good). After a good head slap, we realized that we are confusing Google as to what should be the main page. If we rename our products, the product's URL will change-Do we do a 301 for those products? If we rename our products, do we take out the words "Western Wedding Invitation" entirely or can we say "x-Western Wedding Invitation"? Or. because cannibalization is deemed a "low priority" in the reports, do we let things be and work on getting links to the collections page vs the individual product? Any insight would be most appreciated.
Web Design | | UrbanityStudios0 -
Best E-commerce Solution - SEO Friendly
I need to know thoughts on the best ecommerce solution for our company. We currently have one website with our products, that people call and they purchase over the phone. In the future we are considering adding a different product line, to which we want to be a fully functional online ecommerce site. We eventually are considering having only a portion of our products on our current site to have the ability to purchase online. The reasoning is because we sell very high quality products that range from $1000 - $200,000. We would like to have a consumer section and an industrial sectioin. The consumer section would consist of products from $1000 - $10,000 or so. Then the industrial products you would need to call to purchase. So would it make sense to have a main website that is our corporate site with links to different websites? Or to keep this all in one website and have different directories like so: corporatecompany.com - links to product-line.com corporatecompany.com - links to product-line-two.com or corporatecompany.com/consumer-grade/ corporatecompany.com/industrial-grade/ corporatecompany.com/the-ecommerce-only-section/ Can a shopping cart be used to turn on half of the products for purchasing online, and the other half to be call in only ? What is the best e-commerce solution that is SEO friendly and also can just play a role of a regular website?
Web Design | | hfranz0 -
Best way to set up a site with multiple brick and mortor locations across Canada
I have a client who is expanding his business locations from 2 cities to 3, and working towards having 10+ locations across Canada. Right now we're building location based landing pages for each city, as well as keyword targeted landing pages for each city. For example, landing pages for "Vancouver whatever clinic" and "Calgary whatever clinic" as well as for "Vancouver specific service", and "Calgary specific service". This means a lot of landing pages will need to be created to target each of 10 or so desirable "service" keywords for each city's location. I've no issue with this, however I was wondering how other companies go about this? What's the best way to be relevant for certain "service" based keyword searches in each city? Many of the "service" keywords are 'localized' meaning they will show Google Places results for local brick and mortar businesses for each location. I'm quite good at optimizing locally for this type of thing. However, many of the "service" keywords are not yet 'localized' by Google, I'd want to have my client webpages show well in the SERP's. for these 'non-localized' "service keywords" as well. the new site will be built in WordPress
Web Design | | AndyKuiper0 -
What's the best was to structure Product page information on my site?
Hi - I run a hobby related niche new / article / resource site (http://tinyurl.com/4eavaj4). One of the most critical components of the site is our product database. We don't actually sell anything directly - instead we monetize them by displaying relevant affiliate product feeds and price comparisons. However since the Panda update was implemented in February my traffic (particularly my long tail, product related traffic) has dropped off considerably. I had about a 20% drop in overall traffic, but have made up some of the ground in the past week. However I want to know once and for all how I should structure my product related information as I have a ton of great content that is ready to be published in this section but want to be sure I structure it the best possible way from a SEO standpoint. Here are a few different options I've come up with for displaying information about products on my site. For the purpose of these examples I am going to refer to all of the information that makes up my product pages collectively as "product profiles". Please let me know which is the best SEO wise (or if you have a better way of doing it let me know): - Option 1 - Current Method - Divide Content Sections into different pages / urls Example: http://tinyurl.com/4tpdlbl This is how the majority of my product profiles are currently structured. I did this to improve load times and to keep the total number of links per page down. In addition to the core product profile subpages: "Product Details","Compare Prices", **"**Product Review", "Hot Auctions", and "Checklists", I have the Checklists area further segmented by subset, each of which is on its own page that is only accessible through the main Checklists tab of the profile. - Option 2 - Everything on one url / page the old fashioned way, with everything available by scrolling vertically. This would make the page go on forever though. - Option 3 - Everything on one url / page, but visually segmented using css / javascript tabs. Example: http://tinyurl.com/4kqhauh I looked at the source code and all the page text is there, so it looks like it would be spider-able but you tell me. Or would another method of tabbing be better? My site is wordpress based so the functionality comes from a plugin. - Option 4 - Use post tabs that are technically all on the same page, but make each individual tab be accessible through its own suburl, all of which share the same core canonical url. Example: http://tinyurl.com/4bs9pjs Clicking on any of the individual tabs will result in something like ?postTabs=2 being appended to the core url. Example: http://tinyurl.com/4gvgufc Any input would be greatly appreciated asap! Thanks Mike
Web Design | | MikeATL0 -
Dynamic pages and code within content
Hi all, I'm considering creating a dynamic table on my site that highlights rows / columns and cells depending on buttons that users can click. Each cell in the table links to a separate page that is created dynamically pulling information from a database. Now I'm aware of the google guidelines: "If you decide to use dynamic pages (i.e., the URL contains a "?" character), be aware that not every search engine spider crawls dynamic pages as well as static pages. It helps to keep the parameters short and the number of them few." So we wondered whether we could put the dynamic pages in our sitemap so that google could index them - the pages can be seen with javascript off which is how the pages are manipulated to make them dynamic. Could anyone give us a overview of the dangers here? I also wondered if you still need to separate content from code on a page? My developer still seems very keen to use inline CSS and javascript! Thanks a bundle.
Web Design | | tgraham0