{"id":11587,"date":"2009-06-16T22:28:54","date_gmt":"2009-06-16T20:28:54","guid":{"rendered":"https:\/\/mamchenkov.net\/blog\/?p=37"},"modified":"2009-06-16T22:28:54","modified_gmt":"2009-06-16T20:28:54","slug":"wordpress-theme-change-check-list","status":"publish","type":"post","link":"https:\/\/mamchenkov.net\/wordpress\/2009\/06\/16\/wordpress-theme-change-check-list\/","title":{"rendered":"WordPress theme change check list"},"content":{"rendered":"<!-- google_ad_section_start -->\n<p>I came across this post, with a self explanatory title &#8211; &#8220;<a href=\"http:\/\/techpp.com\/2009\/06\/12\/13-most-important-things-to-do-when-changing-the-wordpress-theme\/\">13 Most Important Things to do When Changing the WordPress Theme<\/a>&#8220;.\u00a0 This is particularly relevant to me, since I am updating my theme right this moment.\u00a0\u00a0 And so, I thought, I&#8217;d just revisit the list items of that post with my own comments, since they are so fresh.<\/p>\n<ul>\n<li><strong>Take a backup of your current theme folder.<\/strong> That is always a good advice.\u00a0\u00a0 Better even, take full backup of your blog, including the database dump.\u00a0\u00a0 Why is the dump relevant for theme upgrade?\u00a0 No, not because I am obsessed with backups now that I lost all my archives.\u00a0 But because most themes these days include dynamic sidebars, which you usually fill with widgets.\u00a0 Widgets configuration is kept in the database.\u00a0 And when you are moving to a new theme, your dynamic sidebars often get out of sync, and you try to fix it fast by re-arranging widgets again.\u00a0 In case things go very wrong, it&#8217;ll help to have a database dump as well, which, when restored, will bring back your widget configuration.<\/li>\n<li><strong>Check for broken links<\/strong>.\u00a0 A new theme will hardly affect links in your content, but everything around it &#8211; headers, footers, sidebars, links to RSS feeds, etc &#8211; can easily get damaged.\u00a0 This happens especially often when you use a testing or development environment which is separate from your main production blog.<\/li>\n<li><strong>Look for possible security loopholes<\/strong>. Ideally, you should do this BEFORE you move your site to the new theme.\u00a0 The best approach here is to combine manual and automatic checks. Manual checks include reading the theme source code, checking the site in different browsers, from different IP address, while logged in with different access levels, as well as logged out altogether, etc. Automatic checks are provided by a whole bunch of applications, including some <a href=\"http:\/\/weblogtoolscollection.com\/archives\/2009\/06\/15\/security-and-anti-spam-plugins-for-wordpress\/\">security oriented WordPress plugins<\/a>.<\/li>\n<li><strong>Remove unnecessary code from your WordPress header<\/strong>. This has a lot to do with tightening up the security of your WordPress installation.\u00a0 The less information you give out to potential attackers, the better.\u00a0 I have no idea why this item is separated in that list from the previous one.<\/li>\n<li><strong>Make sure your RSS subscription link is correct<\/strong>.\u00a0 If you link to several feeds (posts, comments, category, etc) &#8211; check them all.\u00a0 Also make sure that you have them in your header for RSS auto-discovery to work.\u00a0 The best approach here is to use <a href=\"http:\/\/codex.wordpress.org\/WordPress_Feeds\">WordPress builtin functions for RSS links<\/a>, not hardcode them by hand.<\/li>\n<li><strong>Check if all your pages are listed properly<\/strong>.\u00a0 Again, it&#8217;s not always possible to code your menus and navigation to work in every theme out there, but sticking to <a href=\"http:\/\/codex.wordpress.org\/wp_list_pages\">WordPress Codex<\/a> ways you guarantee to minimize the troubles for yourself.<\/li>\n<li><strong>Put back your stats tracking code<\/strong>.\u00a0 I suggest to find and install the suitable plugin.\u00a0 There are many available for practically any statistics package.\u00a0 The plugin will usually take care of installing all the necessary codes, goal tracking, conversions, and the rest.\u00a0 Plus you&#8217;ll keep you configuration in simple and easy way via administration interface, rather than editing theme source files directly.<\/li>\n<li><strong>Check your website from different browsers<\/strong>.\u00a0 That&#8217;s the second best advice after taking a backup before even starting.\u00a0 Cross-browser issues are the most common to appear and the most nerve-breaking to fix.\u00a0 Even if you don&#8217;t know how to fix them yourself, still check your new theme for any glitches in different browsers, to at least know that you have them.\u00a0 Fixing them can be arranged separately.\u00a0 If you don&#8217;t have different browser versions available at hand, ask your friends or readers to help, or use web tools, such as <a href=\"http:\/\/browsershots.org\/\">BrowserShots<\/a>.<\/li>\n<li><strong>Check if you sidebar content is correct<\/strong>.\u00a0 Especially so, if you had custom sidebars for the front page, categories, posts, pages, search results, archives, etc.\u00a0 Even more so, if you are using widgets (see above).<\/li>\n<li><strong>Re-evaluate your plugin usage<\/strong>.\u00a0 As the original post mentions, it&#8217;s a good time to see if you still need all those plugins you were using before.\u00a0 And there is another side to this too.\u00a0 Many heavily customized themes keep some functionality code in <em>functions.php<\/em> file.\u00a0 When moving to another theme, the functions.php from the old theme might not necessarily work under the new one.\u00a0 Maybe it&#8217;s a good time to move some of that code into more generic plugins and widgets.<\/li>\n<li><strong>Put back your AdSense \/ other ads code<\/strong>.\u00a0 This is somewhat similar to your statistics.\u00a0 If you use AdSense or any other well-known advertising service, you&#8217;d be better of with installing and configuring an appropriate plugin.\u00a0 If the ads are customized, than you should probably move them out of the theme code into separate files and then just <em>include()<\/em> where appropriate.\u00a0 Definitely worth a check after the move is done.\u00a0 While checking the site in different browsers, take a look at the ads as well, just to make sure all your visitors can see them properly.<\/li>\n<li><strong>Check if your favicon is proper<\/strong>.\u00a0 Ideally, this shouldn&#8217;t break by your theme change.\u00a0 While there is a way to specify favicon&#8217;s location in your theme&#8217;s header, I find it better to drop the favicon into root folder of your site &#8211; most browsers will pick it up from their automatically.\u00a0 And it will work even when your blog is horribly broken.\u00a0 Additionally, I don&#8217;t think changing your favicon often (even if ever) is a good idea.\u00a0 Favicon is like your site&#8217;s avatar.\u00a0 It takes time for people to get used to it and recognize it.\u00a0 Why change it when some of your visitors just got used to this one?\u00a0 Unless, of course, your favicon doesn&#8217;t represent your site at all anymore.\u00a0 Then &#8211; yes.<\/li>\n<li><strong>Look how you can optimize your blog<\/strong>.\u00a0 Yeah, well, true.\u00a0 However, before you start optimizing anything, make sure that you have the full backup (try restoring from it to a test blog), make sure that everything works before you start optimization, and make sure that there is any need for optimization at all.\u00a0 <a href=\"http:\/\/en.wikipedia.org\/wiki\/Optimization_%28computer_science%29#When_to_optimize\">Premature optimization is evil<\/a>.<\/li>\n<li><strong>Put up a post about the new design<\/strong>.\u00a0 This is a good idea.\u00a0 Before you do a full blown post however, maybe you should post a short update to your Twitter account (you do have a Twitter account, don&#8217;t you?).\u00a0 This way, your followers can point out any bugs in time to fix them before you notify the whole blogosphere, search engines, and RSS feeds.\u00a0 Once you are completely sure that everything works &#8211; yes, indeed, blog about it.\u00a0 Tell your readers why you changed the theme, if there are any new features, and how much effort it took you to put it up.\u00a0 A post like this would usually inspire at least a few of your readers to do something with their blogs.\u00a0 And that&#8217;s something that we definitely need &#8211; more and better blogs.<\/li>\n<\/ul>\n<p><strong>P.S.<\/strong>: even though the original post&#8217;s title says &#8220;<em>13 things<\/em>&#8220;, there are in fact 14 items on that list.\u00a0 I guess the counting went off, because it started from 0 and not 1.<\/p>\n<!-- google_ad_section_end -->\n","protected":false},"excerpt":{"rendered":"<!-- google_ad_section_start -->\n<p>I came across this post, with a self explanatory title &#8211; &#8220;13 Most Important Things to do When Changing the WordPress Theme&#8220;.\u00a0 This is particularly relevant to me, since I am updating my theme right this moment.\u00a0\u00a0 And so, I thought, I&#8217;d just revisit the list items of that post with my own comments, since &hellip; <a href=\"https:\/\/mamchenkov.net\/wordpress\/2009\/06\/16\/wordpress-theme-change-check-list\/\" class=\"more-link\">Continue reading <span class=\"screen-reader-text\">WordPress theme change check list<\/span><\/a><\/p>\n<!-- google_ad_section_end -->\n","protected":false},"author":2,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_monsterinsights_skip_tracking":false,"_monsterinsights_sitenote_active":false,"_monsterinsights_sitenote_note":"","_monsterinsights_sitenote_category":0,"_jetpack_memberships_contains_paid_content":false,"footnotes":"","jetpack_publicize_message":"","jetpack_publicize_feature_enabled":true,"jetpack_social_post_already_shared":false,"jetpack_social_options":{"image_generator_settings":{"template":"highway","default_image_id":0,"font":"","enabled":false},"version":2},"_links_to":"","_links_to_target":""},"categories":[1,62,60],"tags":[1364],"keyring_services":[],"class_list":["post-11587","post","type-post","status-publish","format-standard","hentry","category-general","category-technology","category-wordpress","tag-wordpress-themes"],"aioseo_notices":[],"jetpack_publicize_connections":[],"jetpack_featured_media_url":"","jetpack-related-posts":[{"id":11609,"url":"https:\/\/mamchenkov.net\/wordpress\/2009\/06\/25\/wordpress-dynamic-sidebars-take-it-easy-with-widget-control\/","url_meta":{"origin":11587,"position":0},"title":"WordPress dynamic sidebars : take it easy with widget control","author":"Leonid Mamchenkov","date":"June 25, 2009","format":false,"excerpt":"One of the coolest things about WordPress is a dynamic sidebar. Dynamic sidebar is a special are defined by a WordPress theme, where widgets (blogroll links, recent comments, related posts, etc.) can go.\u00a0 The beauty of it is how simple it is for the theme author to define and style\u2026","rel":"","context":"In &quot;All&quot;","block_context":{"text":"All","link":"https:\/\/mamchenkov.net\/wordpress\/category\/general\/"},"img":{"alt_text":"","src":"","width":0,"height":0},"classes":[]},{"id":27255,"url":"https:\/\/mamchenkov.net\/wordpress\/2017\/01\/19\/wordpress-theme-developer-handbook\/","url_meta":{"origin":11587,"position":1},"title":"WordPress Theme Developer Handbook","author":"Leonid Mamchenkov","date":"January 19, 2017","format":false,"excerpt":"WordPress Theme Developer Handbook: The Theme Developer Handbook is a repository for all things WordPress themes. Whether you\u2019re new to WordPress themes, or you\u2019re an experienced theme developer, you should be able to find the answer to many of your theme-related questions right here. Finally, there is a more organized\u2026","rel":"","context":"In &quot;All&quot;","block_context":{"text":"All","link":"https:\/\/mamchenkov.net\/wordpress\/category\/general\/"},"img":{"alt_text":"","src":"","width":0,"height":0},"classes":[]},{"id":13110,"url":"https:\/\/mamchenkov.net\/wordpress\/2010\/08\/05\/agentpress-wordpress-theme-for-real-estate-websites\/","url_meta":{"origin":11587,"position":2},"title":"AgentPress &#8211; WordPress theme for real estate websites","author":"Leonid Mamchenkov","date":"August 5, 2010","format":false,"excerpt":"Some time ago I mentioned StayPress plugin for WordPress, for those people who need such functionality on their real estate web sites. \u00a0Today I have something else to talk about - AgentPress theme for WordPress designed and implemented by awesome people at StudioPress (too much Press in this sentense, isn't\u2026","rel":"","context":"In &quot;All&quot;","block_context":{"text":"All","link":"https:\/\/mamchenkov.net\/wordpress\/category\/general\/"},"img":{"alt_text":"","src":"https:\/\/i0.wp.com\/mamchenkov.net\/wordpress\/wp-content\/uploads\/2010\/08\/agentpress_theme.png?resize=350%2C200&ssl=1","width":350,"height":200},"classes":[]},{"id":22246,"url":"https:\/\/mamchenkov.net\/wordpress\/2014\/07\/22\/backup-black-hole\/","url_meta":{"origin":11587,"position":3},"title":"Backup black hole","author":"Leonid Mamchenkov","date":"July 22, 2014","format":false,"excerpt":"I just had to look for something that got deleted in one of the systems I administrate. \u00a0We have daily backups for the last week, weekly backups for the last two month, monthly backups for the last year, and yearly backups for ever. \u00a0That seemed like a sensible backup plan.\u2026","rel":"","context":"In &quot;All&quot;","block_context":{"text":"All","link":"https:\/\/mamchenkov.net\/wordpress\/category\/general\/"},"img":{"alt_text":"","src":"","width":0,"height":0},"classes":[]},{"id":18853,"url":"https:\/\/mamchenkov.net\/wordpress\/2013\/11\/26\/flounder-free-wordpress-theme-colorful-post-formats\/","url_meta":{"origin":11587,"position":4},"title":"WordPress Themes : Flounder, with Colorful Post Formats","author":"Leonid Mamchenkov","date":"November 26, 2013","format":false,"excerpt":"Via WPTavern I came across Flounder - a free WordPress theme with colorful post formats. \u00a0This looks rather awesome for use in personal blog, like mine. \u00a0Have a look. The colors are customizeable and the theme is responsive, as any new theme should be. \u00a0Here is how it looks on\u2026","rel":"","context":"In &quot;All&quot;","block_context":{"text":"All","link":"https:\/\/mamchenkov.net\/wordpress\/category\/general\/"},"img":{"alt_text":"flounder","src":"https:\/\/i0.wp.com\/mamchenkov.net\/wordpress\/wp-content\/uploads\/2013\/11\/flounder-500x375.png?resize=350%2C200&ssl=1","width":350,"height":200},"classes":[]},{"id":24785,"url":"https:\/\/mamchenkov.net\/wordpress\/2015\/09\/30\/packaging-third-party-plugins-with-your-wordpress-theme\/","url_meta":{"origin":11587,"position":5},"title":"Packaging third-party plugins with your WordPress theme","author":"Leonid Mamchenkov","date":"September 30, 2015","format":false,"excerpt":"Many a time I've been involved in building a custom WordPress theme, which relied or benefited from some plugins being installed and activated. \u00a0I've always had an ad hoc solution to the problem, with my own installation scripts, WP-CLI mockery, etc. \"Packaging third-party plugins with your WordPress theme using TGM\u2026","rel":"","context":"In &quot;All&quot;","block_context":{"text":"All","link":"https:\/\/mamchenkov.net\/wordpress\/category\/general\/"},"img":{"alt_text":"wordpress theme plugins","src":"https:\/\/i0.wp.com\/mamchenkov.net\/wordpress\/wp-content\/uploads\/2015\/09\/wordpress-theme-plugins-500x157.png?resize=350%2C200&ssl=1","width":350,"height":200},"classes":[]}],"jetpack_sharing_enabled":true,"amp_enabled":true,"_links":{"self":[{"href":"https:\/\/mamchenkov.net\/wordpress\/wp-json\/wp\/v2\/posts\/11587","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/mamchenkov.net\/wordpress\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/mamchenkov.net\/wordpress\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/mamchenkov.net\/wordpress\/wp-json\/wp\/v2\/users\/2"}],"replies":[{"embeddable":true,"href":"https:\/\/mamchenkov.net\/wordpress\/wp-json\/wp\/v2\/comments?post=11587"}],"version-history":[{"count":0,"href":"https:\/\/mamchenkov.net\/wordpress\/wp-json\/wp\/v2\/posts\/11587\/revisions"}],"wp:attachment":[{"href":"https:\/\/mamchenkov.net\/wordpress\/wp-json\/wp\/v2\/media?parent=11587"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/mamchenkov.net\/wordpress\/wp-json\/wp\/v2\/categories?post=11587"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/mamchenkov.net\/wordpress\/wp-json\/wp\/v2\/tags?post=11587"},{"taxonomy":"keyring_services","embeddable":true,"href":"https:\/\/mamchenkov.net\/wordpress\/wp-json\/wp\/v2\/keyring_services?post=11587"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}