index.php is universal template, it is what any page (home, archive, single post, etc) will use if other template is available for it. home.php is a template used for main page (on is_home() ) condition. See Template Hierarchy for detailed scheme of how templates are applied. More Solution performance - Combining multiple javascript and css files in WordPress plugins - Making a Contact Form 7 calendar entry "required" in WordPress Adding custom html and standard widgets to sidebar in WordPress performance - What is the best caching option for WordPress multi-site on non-shared hosting? in WordPress Change ordering of fields of custom post type in admin page in WordPress Reffered: https://wordpress.org/