a:6:{i:0;s:8501:"					<section class="headBg theme2 ">
					<div class="wrap">
					<div class="page-title-inner fo"> 
					<div class="h1"><h1>Job openings for seo executive in laxmi nagareast delhi delhi</h1></div>
					<p class="breadcrumb ar uu small"><a href="http://www.neonglobalservices.com/" title="Home">Home</a>
					
											<b class="ffv p2px">&rsaquo;</b><a href="http://www.neonglobalservices.com/current-jobs.htm" title="Current Jobs">Current Jobs</a>
																
					<b class="ffv p2px">&rsaquo;</b> Job openings for seo executive in laxmi nagareast delhi delhi</p>
					</div>
					</div>
					</section>
									<section id="middle">
				<div class="wrap" id="bodyFormatNT">
				<div class="row1 dt columns23"><!--MIDDLE ROW1 STARTS-->
				<div class="col-2 wideColumn ip ls detail_pm_15"><!--MIDDLE ROW1 COL-2 STARTS-->
				
								<div class="pt10px">
				<div class="xxxlarge fw6 dif">SEO Executive</div>
									<p class="mt7px fw6">Delhi, East Delhi, Laxmi nagar</p>
									
				<br>
				<p class="aj mt7px">● Carry out keyword research to support new client pitches and existing client SEM campaigns<br />
Conduct on-site and off-site SEO competitor analysis<br />
● Help to execute on-site and off-site SEO strategies (including link building) for a range of clients in a host of industries<br />
● Complete weekly and monthly performance reports using programs such as Google Analytics<br />
● Conduct on-site and off-site SEO audits for client sites on a monthly basis<br />
● Help to contribute to the company blog and other external communications<br />
● Guide the content team to produce SEO-friendly content<br />
● Keep up to date with the latest SEM technology, SEO updates and industry changes<br />
<br />
<br />
 <br />
<br />
Key Skills/Experience:<br />
<br />
At least one year’s experience in SEO/SEM<br />
BA degree in Marketing, English.<br />
A good understanding of all aspects of on-site and off-site SEO.<br />
Experience using Google Webmaster Tools and Google Analytics.<br />
Familiarity with other aspects of digital marketing.<br />
Strong communication skills.<br />
Excellent copywriting and reporting skills.<br />
Analytical mindset.<br />
A can-do attitude.<br />
Strong time management skills.<br />
A good team player.</p>
				
				<table class="w100 formTable bdr0 mt20px">	
				<tr>
				<td class="w195 alpha75 p5px">Experience</td>
				<td class="p5px">0 - 1 Years</td>
				</tr>			
									<tr>
					<td class="alpha75 p5px">Salary</td>
					<td class="p5px">Not Disclosed</td>
					</tr>
									
					<tr>
					<td class="alpha75 p5px">Industry</td>
					<td class="p5px">Media / Entertainment</td>
					</tr>
									
									<tr>
					<td class="alpha75 p5px">Qualification</td>
					<td class="p5px">Higher Secondary, Other Bachelor Degree</td>
					</tr>					
										<tr>
					<td class="alpha75 p5px">Key Skills</td>
					<td class="p5px">
											<span class="bdr dib p2px10px mr5px mt2px">SEO</span>
												<span class="bdr dib p2px10px mr5px mt2px"> smo</span>
												<span class="bdr dib p2px10px mr5px mt2px"> Digital Marketing</span>
											</td>
					</tr>
									
				</table>
				</div>
				<br>
				<div class="pt20px">
				<p class="large fw6">About Company</p>
				<div class="mt10px">
				
									<table class="w100 formTable bdr0 mt5px">
											<tr>
						<td class="w195 alpha75 p5px">Email ID</td>
						<td class="p5px"><a href="mailto:neonglobalservices07@gmail.com"> neonglobalservices07@gmail.com </a></td>
						</tr>
										
					</table>
									
				<br />
				
									
					<div class="bdrT pt20px">
					<form name="frmvacdetail" method="post" action="enquiry-form-10009.htm">
					<input style="padding:7px 15px;" class="button b ffos" type="submit" value="APPLY NOW !" />
					<input type="hidden" name="catalog_mi" value="747415">
					<input type="hidden" name="enq_type" value="2"><input type="hidden" name="vacancy_id" value="757211"><input type="hidden" name="subject" value="Applied for SEO executive">
					</form>
					</div>
			
									</div>
				</div>			
				
				<!--MIDDLE ROW1 COL-2 ENDS--> 
				</div>
				<div class="col-3 thinColumn"><!--MIDDLE ROW1 COL-1 STARTS-->
				
				<div class="column_Box mc">
				<div class="tcl bullet divider">
				<div class="large fw6 alpha75 p12px bdrB">
				<h2>Jobs by Location</h2>
				</div>
				<div class="ic">
				<div class="mt10px">
									<span class="dib p5px10px c2px bdr mr7px mb7px "><a class="dif" href="jobs-in-delhi.htm" title="Jobs in Delhi">Delhi</a> <b class="alpha50 bn small">(3)</b></span>
										<span class="dib p5px10px c2px bdr mr7px mb7px "><a class="dif" href="jobs-in-pune.htm" title="Jobs in Pune">Pune</a> <b class="alpha50 bn small">(1)</b></span>
										<span class="dib p5px10px c2px bdr mr7px mb7px "><a class="dif" href="jobs-in-jaipur.htm" title="Jobs in Jaipur">Jaipur</a> <b class="alpha50 bn small">(1)</b></span>
										<span class="dib p5px10px c2px bdr mr7px mb7px "><a class="dif" href="jobs-in-noida.htm" title="Jobs in Noida">Noida</a> <b class="alpha50 bn small">(1)</b></span>
										<span class="dib p5px10px c2px bdr mr7px mb7px "><a class="dif" href="jobs-in-gurgaon.htm" title="Jobs in Gurgaon">Gurgaon</a> <b class="alpha50 bn small">(1)</b></span>
										<span class="dib p5px10px c2px bdr mr7px mb7px "><a class="dif" href="jobs-in-mumbai.htm" title="Jobs in Mumbai">Mumbai</a> <b class="alpha50 bn small">(1)</b></span>
									</div>
				</div>
				</div>
				</div>
				
				<div class="column_Box mc">
				<div class="tcl bullet divider">
				<div class="large fw6 alpha75 p12px bdrB">
				<h2>Jobs by Functional Area</h2>
				</div>
				<div style="padding:10px 18px;" class="ic">
									<p class="mb5px "><span class="fr">(2)</span><a href="jobs-in-sales-marketing-fid.htm" title="Sales/Marketing Jobs">Sales/Marketing</a></p>
										<p class="mb5px "><span class="fr">(2)</span><a href="jobs-in-banking-investment-fid.htm" title="Banking / Investments / Stock Market / Financial Services Jobs">Banking / Investments / Stock ...</a></p>
										<p class="mb5px "><span class="fr">(1)</span><a href="jobs-in-insurance-loan-credit-fid.htm" title="Insurance / Loan / Credit Management Jobs">Insurance / Loan / Credit Mana...</a></p>
										<p class="mb5px "><span class="fr">(1)</span><a href="jobs-in-fresh-graduate-fid.htm" title="Fresher / Trainee Jobs">Fresher / Trainee</a></p>
										<p class="mb5px "><span class="fr">(1)</span><a href="jobs-in-education-teaching-training-counselling-fid.htm" title="Education / Teaching / Training / Counselling / Academic Jobs">Education / Teaching / Trainin...</a></p>
										<p class="mb5px "><span class="fr">(1)</span><a href="jobs-in-accounting-tax-fid.htm" title="Accounting / Auditing / Taxation Jobs">Accounting / Auditing / Taxati...</a></p>
										<p class="mb5px "><span class="fr">(1)</span><a href="jobs-in-media-entertainment-fid.htm" title="Media / Entertainment Jobs">Media / Entertainment</a></p>
										<p class="mb5px "><span class="fr">(1)</span><a href="jobs-in-application-programming-fid.htm" title="IT Software - Application Programming / Maintenance Jobs">IT Software - Application Prog...</a></p>
									
				</div>
				</div>
				</div>
				
				</div>
				<!--MIDDLE ROW1 COL-1 ENDS-->
				
				<!--MIDDLE ROW1 ENDS--> 
				</div>
				<br><br>
				</div>
				</section>
				<script>
					window.addEventListener("DOMContentLoaded", function(){
						jQuery(document).on("click", ".showallspan", function(){
							if(jQuery(this).attr("data-target") === 'show'){
								jQuery(this).text("View Less");
								jQuery(this).attr("data-target", "hide");
								jQuery(this).closest("div").find(".spanlist").removeClass("dn");
							}else{
								jQuery(this).text("View More");
								jQuery(this).attr("data-target", "show");
								jQuery(this).closest("div").find(".spanlist").addClass("dn");
							}
						});
					});
				</script>
					<script>
	$.ajax({
	  url: "https://www.placementindia.com/job_posting_view.php",
	  type: "POST",
	  dataType: 'html',
	  data: {job_view_id: 'MW5UWDBuazMyQU5uRm5ZWHZob0dTZz09',data_type: 'RExzRmw1cmRsdlh6YkJlVUZBNnA4UT09'},
	  cache : false,
	  async: true
	  
	}).done(function(resp) {
	  //alert(resp)
	});
	</script>
	";i:1;s:84:"Job openings for seo executive in laxmi nagareast delhi delhi | Neon Global Services";i:2;s:141:"SEO executive Jobs,SEO executive Jobs in Delhi,SEO executive Vacancy in Delhi,SEO executive jobs in India,Media / Entertainment jobs in Delhi";i:3;s:221:"Apply for SEO executive Jobs in Delhi India - SEO executive Vacancy  in Media / Entertainment field with 0 to 1 years Work Experience, Key Skills are SEO, smo, Digital Marketing, Media / Entertainment jobs in Delhi  India";i:4;s:1823:"
		<script type="application/ld+json">
		{
		  "@context": "http://schema.org",
		  "@type": "JobPosting",
		  "title": "SEO executive",
		  "baseSalary": "",
		  "description": "● Carry out keyword research to support new client pitches and existing client SEM campaigns
Conduct on-site and off-site SEO competitor analysis
● Help to execute on-site and off-site SEO strategies (including link building) for a range of clients in a host of industries
● Complete weekly and monthly performance reports using programs such as Google Analytics
● Conduct on-site and off-site SEO audits for client sites on a monthly basis
● Help to contribute to the company blog and other external communications
● Guide the content team to produce SEO-friendly content
● Keep up to date with the latest SEM technology, SEO updates and industry changes


 

Key Skills/Experience:

At least one year’s experience in SEO/SEM
BA degree in Marketing, English.
A good understanding of all aspects of on-site and off-site SEO.
Experience using Google Webmaster Tools and Google Analytics.
Familiarity with other aspects of digital marketing.
Strong communication skills.
Excellent copywriting and reporting skills.
Analytical mindset.
A can-do attitude.
Strong time management skills.
A good team player.",
		  "educationRequirements": "Higher Secondary, Other Bachelor Degree",
		  "experienceRequirements": "0 - 1 Years",
		  "industry": "Media / Entertainment",
		  "jobLocation": {
		    "@type": "Place",
		    "address": {
		      "@type": "PostalAddress",
		      "addressLocality": "Delhi/NCR",
		      "addressRegion": "Delhi, East Delhi, Laxmi nagar"
		    }
		  },
		 "qualifications": "Higher Secondary, Other Bachelor Degree",
		     "skills": "SEO, smo, Digital Marketing"
		  }
		</script>
		";i:5;N;}