Download this Case Study now!

Complete the form and your download will start automatically.

  • Please enter your real name
  • Please enter a valid email
Download Now

WordPress Development Standards

We render the best WP development standards guidelines to enhance user-experience that scales the business at every turn.

  • Coding Standards
  • WordPress Security

  • Software Testing
  • WordPress Maintenance

The Foundation

We strengthen the foundation of websites by following the effective and ideal principles of WordPress development standards.

HTMLPanda will

  • primarily build the site on an HTMLPanda dev server.

  • use the latest version of WordPress available when the project is started.

  • create well-commented, clearly broken into sections and logically ordered CSS files following the page display order (body, header, navigation, content, row, sidebar, footer and more).

  • develop a custom WordPress theme based on the clients' PSD file in case the client hasn't provided any WordPress theme.

  • enable the availability of the Theme Customize Screen for a user role, use the "edit_theme_options" user capability instead of the "switch_themes" capability unless the user role actually should also be able to switch themes. See more at Roles and Capabilities and Adding Administration Menus.

  • set all externally pointing links to target=”_blank”.

  • disable the post commenting unless specified.

  • make author comments highlighted differently, support threaded comments.

  • discourage to crawl the site until moved to the staging server.

  • use the fonts of PSD files we receive. Moreover, the client needs to purchase the premium fonts in case of use otherwise similar fonts Google fonts will be used).

  • use Open Sans from Google Fonts in case fonts are not provided.

  • QA test the sites for browsers such as IE9+, Firefox 31+, Chrome 40+, Safari 7+, Microsoft Edge, etc.

  • QA test the sites on devices such as iPhone, iPad, Android phone, Android tablet, etc.

  • create an individual WordPress user admin record for each project we build for clients.

  • move the site at the completion of development to the customer’s final hosting location.

  • work on a child theme for a new section in case of use in the premium theme.

HTMLPanda will not

  • create a child theme for foundation or Bootstrap sites unless the requirement asks for the same.

  • use any inline CSS.

  • style comments form or comment thread views unless instructed by final PSD files.

  • allow Google to crawl WordPress sites on the HTMLPanda development server.

  • modify/create WordPress plugins unless specifically discussed with the client.

  • make substantial changes to the overall functionality of a premium theme.

  • provide any SEO optimization services for the website unless specifically requested/asked for while quoting for the same.

CSS Coding Standards

We follow the well-structured coding style by leveraging the CSS coding standards to make the website more responsive and business-centric.

HTMLPanda will

  • structure a stylesheet by using tabs to indent each property, add two blank lines between sections and one blank line between blocks in a section.

  • make sure that each selector should be on its own line, ending in either a comma or an opening curly brace.

  • create selectors that find the right balance between contributing to overall style and layout by using lowercase and separating words with hyphens when naming selectors.

  • use human-readable selectors that describe what element(s) they style and use double quotes around values for the attribute selectors, refrain from using overqualified selectors, div.container can be stated as a container.

  • always follow properties by a colon and space, make sure that all the properties and values are in lowercase except for font names and vendor-specific properties.

  • use hex code for colors, or rgba() if opacity is needed. Avoid RGB format and uppercase, and shorten values when possible: #fff instead of #FFFFFF.

  • use shorthand (except when overriding styles) for background, border, font, list-style, margin, and padding values as much as possible.

  • use a baseline for ordering such as display, positioning, box model, colors and typography and others.

  • follow the guidelines to retain a high degree of consistency such as spacing before the value and after the colon, use double quotes rather than single quotes.

  • make sure that the line height is also unit-less unless necessary to be defined as a specific pixel value.

  • comment liberally if there are concerns about file size, utilize minified files and SCRIP_DEBUG constant.

  • use a table of contents utilizes for longer stylesheets, especially those that are highly sectioned.

  • write smart code from the outset to retain the overview while remaining flexible throughout the change.

  • target the element that needs to be used as quick fixes on a one-off basis, e.g box{margin-top: 37px}.

HTMLPanda will not

  • use spaces to indent each property to have a clear understanding of the flow of the document.

  • repeat styling or introducing fixed dimensions.

  • add parentheses with spaces while inputting values for properties.

  • restate default property & value combinations (for instance display: block; on block-level elements).

HTML Coding Standards

We make the website flawless and error-free by rendering the well-structured HTML coding standards and validating the same on W3C.

HTMLPanda will

  • verify validation against the W3C validator to ensure that the markup is well-formed.

  • make sure all tags must be properly closed under self-closing elements.

  • write all tags and attributes in lowercase. Besides, make sure that the attribute values are in lowercase when the purpose of the text is only to be interpreted by the machine.

  • use double or single quotes as per the W3C specifications.

  • use tabs and not spaces to make sure that the indentation is reflecting a logical structure.

HTMLPanda will not

  • not use any code which is not validated from W3C.

  • not use starting comments, not skip heading levels and not add extra functionality inside a heading, such as links or buttons.

  • not introduce new title attributes to convey information.

JavaScript Coding Standards

With the use of this advanced programming language, HTMLPanda makes the implementation of complex things easier on websites.

HTMLPanda will

  • use single quotation marks for string declarations.

  • make use of case statements indent within switch blocks.

  • function contents consistently indent, including full-file closure wrappers.

  • encourage jQuery’s 100-character hard-line limit, do indentation with tabs.

  • make sure lines should usually be no longer than 80 characters, and should not exceed 100 (counting tabs as 4 spaces).

  • always use braces for if/else/for/while/try blocks and always go on multiple lines.

  • make sure unary special-character operators (e.g., ++, –) must not have space next to their operand.

  • make sure that any ‘,’ and ‘;’ must not have preceding space.

  • ensure any ‘;’ used as a statement terminator must be at the end of the line.

  • assure that the ‘?’ and ‘:’ in a ternary conditional must have space on both sides.

  • ensure that there is a new line at the end of each file.

  • ensure that any ‘!’ the negation operator should have the following space.

  • make all function bodies indent by one tab, even if the entire file is wrapped in a closure.

  • assure spaces may align code within documentation blocks or within a line, but only tabs should be used at the start of a line.

  • JavaScript code should be placed in external files whenever possible.

  • Use wp_enqueue_script() to load the scripts.

  • JavaScript loaded directly into HTML documents (template files) should be CDATA encoded to prevent errors in older browsers.

HTMLPanda will not

  • strictly enforce the jQuery’s hard-lined limit.

  • add preceding spaces with a comma (,), colon (:) and semicolon (;).

  • include space around to maintain consistency.

  • make naming conventions excessively descriptive.

  • include a string that would not be a valid identifier.

WordPress Theming Standards

We provide fully customizable, fast and responsive themes for the website that converts websites into a result-driven business.

HTMLPanda will

  • use well-structured, error-free PHP and valid HTML WordPress coding standards.

  • use clean and valid CSS Coding Standards.

  • follow design guidelines in site design and layout.

  • use a stylesheet called style.css to control the visual design and layout of the web page.

  • use WordPress template files that control the way the site pages generate the information from the WordPress database to be displayed on the site.

  • use the optional functions file (functions.php) as part of the WordPress theme files.

Naming Conventions

We follow the well-structured naming conventions while developing a WordPress website that makes the library management effective.

HTMLPanda will

  • write a custom library to work alongside a theme or application to encounter class names, write an OOP-based plugin to encounter class names.

  • make sure that class names should use capitalized words separated by underscores.

  • make sure all the acronyms used under the class names should be all uppercase.

  • use lowercase letters in variable, action, and function names.

  • follow the lowercase (versus camelCase) under variable names.

  • separate spaces with underscores while following the conventions for variable names.

  • name file names descriptively using lowercase letters. Hyphens should separate words.

  • prefer string values to just true and false when calling functions.

Header and footer

We strive to make the header and footer as captivating as possible by applying our best development standards methodology.

HTMLPanda will

  • use Dashboard » Appearance » Header so that the header logo file can be added as an image.

  • link the logo to the home page.

  • use Dashboard » Appearance » Background to set background color and/or background image with scrolling.

  • use Advanced Custom Fields » Options Page to create global options for header content, footer content, etc. resulting in a Dashboard menu item called “Theme Settings” or “My Options”.

  • will set up Dashboard » Theme Settings/My Options » Contact Info as custom fields so that users can edit contact related details.

  • will set up Dashboard » Theme Settings/My Options » Social Media as custom fields so that users can choose icons and links for social media sites.

  • will set up Dashboard » Theme Settings/My Options » Copyright Statement as custom fields where user can add/edit the site’s copyright statement.

  • use the wp_footer() call, to appear just before closing the body tag.

  • use the proper DOCTYPE.

  • ensure the opening tag should include language_attributes().

  • make sure the charset element should be placed before everything else, including the element.

  • use bloginfo() to set the charset and description elements.

  • use wp_title() to set the element. See why.

  • use get_stylesheet_uri() to get the URL of the current theme stylesheet.

  • use Automatic Feed Links to add feed links.

  • add a call to wp_head() before the closing tag. Plugins use this action hook to add their own scripts, stylesheets, and other functionality.

Navigation

Our development standards make the navigation easy and responsive and give the users a better experience of a website.

HTMLPanda will

  • create all menus using Dashboard » Appearance » Menus drag-and-drop editing tool.

  • clearly identify Menu Locations with names such as “Top Nav”, “Primary Nav” and “Footer Nav”.

  • build the responsive navigation using the defaults for Bootstrap or Foundation by default unless specified by clients or quoted specifically in the proposal.

  • assure that the Theme's main navigation should support a custom menu with wp_nav_menu().

  • ensure that Menus are supporting long link titles and a large number of list items. These items should not break the design or layout.

  • make submenu items display correctly. If possible, support drop-down menu styles for submenu items. Drop-downs allow showing menu depth instead of just showing the top level.

  • include wp_link_pages() to support navigation links within posts and pages.

  • display an "Edit" link for logged-in users with edit permissions.

HTMLPanda will not

  • use breadcrumbs unless specified by clients.

Slider/Slideshow

The use of sliders holds and grabs the attention of any visitor of the site and makes the website more appealing.

HTMLPanda will

  • create custom sliders using custom post types and advanced custom fields.

  • add slider options to the My Options area where transition type (e.g. Fade) can be selected from a list and transition speed can be set with a numeric variable.

  • make images in the responsive versions of the slider proportional.

  • put all text that overlays the slider in the full-screen view underneath the slider image in the responsive views.

  • work with premium slider plugins (e.g. Revolution) if provided by clients prior to development beginning.

Pages and posts

By closely following the same order as the navigation, we keenly check on pages and posts to make the website appear in a logical order.

HTMLPanda will

  • list pages on Dashboard » Pages to closely follow the same order as the navigation.

  • use only one tag per page or post around the ‘Page Title’ or ‘Post Title’ unless stated in the client’s project requirements.

  • setup custom fields used in the ‘Page Editor’ or ‘Post Editor’ in a logical tab order and using the obvious naming syntax so that non-technical users can add/edit information.

  • set permalinks to default /%postname%/ under Dashboard » Settings » Permalinks.

HTMLPanda will not

  • setup any custom fields on post/page editor unless prior to us sending the project quote.

Templates

We give the website a structural look and make it more engaging with the use of responsive templates.

HTMLPanda will

  • name the theme as well as the theme’s template folder based on the project name. The name can be changed as per the clients’ need.

  • The first letter of the site or site logo is added as favicon.

  • create a template’s folder under the themes directory and create the requested template files there (example: templates/template-home.php.

  • create the following templates and provide custom CSS for home.php, full-width.php, single.php, and archive.php.

  • use the default responsiveness provided by Bootstrap or Foundation.

Security

We understand the importance of security on a website and follow the best and most preferred security tactics to keep the website safe.

HTMLPanda will

  • follow the CIA (confidentiality, integrity, and availability) rule for security purposes that limits the information accessible to the right parties.

  • use Open Web Application Security Project (OWASP) for web security that identifies the most serious application security risks.

  • use the custom URL link so as to hackers will hack/misuse any personal data of any user.

  • make sure that the set of functions and APIs available to assist to assure unauthorized code cannot be injected and help them to validate and sanitize data.

  • assure that cross-site scripting (XSS) is incorporated that helps to ensure that user-supplied data is safe.

  • use the best WordPress security plugins such as WordFence, BulletProof Security, Sucuri Security, iThemes Security (formerly better WP Security) and many others to keep the website safe and away from hackers.

Privacy

We value privacy and personal data and that is why we ensure they are being used in the right way.

HTMLPanda will

  • only collect and use the personal data for the purpose it was intended for, and for which the user was clearly informed of in advance. Only collect the user data which is needed and will not make extra copies of data from other plugins.

  • Incorporate the best plugins available for privacy such as MonsterInsights, WPForms, Cookie Notice, Delete Me and many others.

  • ensure that the data collected and used is correct, relevant, and up-to-date.

  • inform users how their data is being collected, used, and shared, as well as any rights they have over those uses.

  • assure that the work meets the privacy regulations of the location where it will be used to collect and process clients’ data.

  • make sure that all the collected information/data is handled in accordance with the General Data Protection Regulation (GDPR) legislation.

HTMLPanda will not

  • sell or lease the personal information to third parties unless we have permission or are required by law to do so.

  • be responsible for the data provided to the third party.

Testing

We ensure our optimal testing process is meeting the latest development standards to make the website completely flawless.

HTMLPanda will

  • install and activate the ‘Theme Check’ plugin. Upon activation, visit Appearance » ‘Theme Check’ to see it in action.

  • turn on the debug mode for theme testing by simply putting this line in wp-config.php file to enable WP_Debug.

  • enable track formatting in ‘Theme Check’ needs to define a couple of variables where wp-config.php - TC_PRE and TC_POST are used as a ticket header and footer.

  • review using “define(\’WP_DEBUG\’, true);” in wp-config.php and also use the test data from the Theme Checklists (TC).

  • reduce bugs/regressions with our optimal testing process that meets the latest development standards.

  • do the testing that includes different types such as unit, functional, performance, acceptance/end-to-end, integration, etc.

  • use the testing tools such as WordPress PHPUnit Test Suite, WP Mock, etc.

  • work on speed optimization for desktop as well as mobile by following things such as compressing and scaling all images, combining images into CSS sprites, minify HTML, etc.

  • Check template files against Template File Checklist, do a run-through using the Theme Unit Test.

  • Validate HTML and CSS and see validating a website.

  • Check for JavaScript errors.

  • Test in the target browsers. For example, IE7, IE8, IE9, Safari, Chrome, Opera, and Firefox.

  • Clean up any extraneous comments, debug settings or TODO items.