a:6:{i:0;s:8596:"					<section class="headBg theme2 ">
					<div class="wrap">
					<div class="page-title-inner fo"> 
					<div class="h1"><h1>Job openings for content writer in gurgaon</h1></div>
					<p class="breadcrumb ar uu small"><a href="https://www.bsrics.com/" title="Home">Home</a>
					
											<b class="ffv p2px">&rsaquo;</b><a href="https://www.bsrics.com/current-jobs.htm" title="Current Jobs">Current Jobs</a>
																
					<b class="ffv p2px">&rsaquo;</b> Job openings for content writer in gurgaon</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">Content Writer</div>
									<p class="mt7px fw6">Gurgaon</p>
									
				<br>
				<p class="aj mt7px">We are looking to hire a dedicated Content Writer to create content for blogs, articles, product descriptions, social media, and the company website. The Content Writer's responsibilities include evaluating analytics to adjust content as needed, regularly updating the company's website, and promoting the company blog by pitching articles to various third-party platforms. You should also be able to follow editorial guidelines when creating content.<br />
<br />
To be successful as a Content Writer, you should keep abreast of the latest SEO techniques. Ultimately, a top-performing Content Writer should be able to contribute to the development of strategies that will increase reader engagement.<br />
<br />
Content Writer Responsibilities:<br />
Conducting in-depth research on industry-related topics in order to develop original content.<br />
Developing content for blogs, articles, product descriptions, social media, and the company website.<br />
Assisting the marketing team in developing content for advertising campaigns.<br />
Proofreading content for errors and inconsistencies.<br />
Editing and polishing existing content to improve readability.<br />
Conducting keyword research and using SEO best practices to increase traffic to the company website.<br />
Creating compelling headlines and body copy that will capture the attention of the target audience.<br />
Identifying customers’ needs and recommending new content to address gaps in the company's current content.</p>
				
				<table class="w100 formTable bdr0 mt20px">	
				<tr>
				<td class="w195 alpha75 p5px">Experience</td>
				<td class="p5px">3 - 8 Years</td>
				</tr>			
											<tr>
							<td class="alpha75 p5px">Salary</td>
							<td class="p5px"> 3  Lac  To  10  Lac  P.A.</td>
							</tr>				
											
					<tr>
					<td class="alpha75 p5px">Industry</td>
					<td class="p5px">Content Writing / Journalism / Editing</td>
					</tr>
									
									<tr>
					<td class="alpha75 p5px">Qualification</td>
					<td class="p5px">B.C.A, B.Sc, B.Tech/B.E, M.C.A, M.Sc, M.Tech</td>
					</tr>					
										<tr>
					<td class="alpha75 p5px">Key Skills</td>
					<td class="p5px">
											<span class="bdr dib p2px10px mr5px mt2px">Content Writer</span>
												<span class="bdr dib p2px10px mr5px mt2px"> Content Developer</span>
												<span class="bdr dib p2px10px mr5px mt2px"> Creative Writer</span>
												<span class="bdr dib p2px10px mr5px mt2px"> Technical Writer</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">Contact Person</td>
						<td class="p5px">Mr.S.Buvanesh</td>
						</tr>					
												<tr>
						<td class="w195 alpha75 p5px">Address</td>
						<td class="p5px">Regus Business Centre, No.136, 3rd Floor, Shyamala Tower, Arcot Rd,</td>
						</tr>					
												<tr>
						<td class="w195 alpha75 p5px">Mobile </td>
						<td class="p5px">4466864441 </td>
						</tr>
												<tr>
						<td class="w195 alpha75 p5px">Email ID</td>
						<td class="p5px"><a href="mailto:admin@bsrisolutions.com"> admin@bsrisolutions.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="696341">
					<input type="hidden" name="enq_type" value="2"><input type="hidden" name="vacancy_id" value="962378"><input type="hidden" name="subject" value="Applied for Content Writer">
					</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-chennai.htm" title="Jobs in Chennai">Chennai</a> <b class="alpha50 bn small">(16)</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">(12)</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">(20)</span><a href="jobs-in-application-programming-fid.htm" title="IT Software - Application Programming / Maintenance Jobs">IT Software - Application Prog...</a></p>
										<p class="mb5px "><span class="fr">(2)</span><a href="jobs-in-web-designing-programming-fid.htm" title="IT Software - Others Jobs">IT Software - Others</a></p>
										<p class="mb5px "><span class="fr">(1)</span><a href="jobs-in-client-server-fid.htm" title="IT Software - Client Server Jobs">IT Software - Client Server</a></p>
										<p class="mb5px "><span class="fr">(1)</span><a href="jobs-in-advertisement-marketing-fid.htm" title="Marketing / Advertising / PR / Media Planning Jobs">Marketing / Advertising / PR /...</a></p>
										<p class="mb5px "><span class="fr">(1)</span><a href="jobs-in-journalism-media-publishing-fid.htm" title="Content Writing / Journalism / Editing Jobs">Content Writing / Journalism /...</a></p>
										<p class="mb5px "><span class="fr">(1)</span><a href="jobs-in-dba-database-management-fid.htm" title="IT Software - DataBase / Datawarehousing Jobs">IT Software - DataBase / Dataw...</a></p>
										<p class="mb5px "><span class="fr">(1)</span><a href="jobs-in-mobile-software-application-fid.htm" title="IT Software - Mobile Technologies Jobs">IT Software - Mobile Technolog...</a></p>
										<p class="mb5px "><span class="fr">(1)</span><a href="jobs-in-analytic-business-intelligence-fid.htm" title="Analytic and Business Intelligence Jobs">Analytic and Business Intellig...</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: 'Ni9FUEdJeUs4QmIxRUpORE9kYWRLUT09',data_type: 'RExzRmw1cmRsdlh6YkJlVUZBNnA4UT09'},
	  cache : false,
	  async: true
	  
	}).done(function(resp) {
	  //alert(resp)
	});
	</script>
	";i:1;s:67:"Job openings for content writer in gurgaon | BSRI Solutions Pvt Ltd";i:2;s:168:"Content Writer Jobs,Content Writer Jobs in Gurgaon,Content Writer Vacancy in Gurgaon,Content Writer jobs in India,Content Writing / Journalism / Editing jobs in Gurgaon";i:3;s:302:"Apply for Content Writer Jobs in Gurgaon India - Content Writer Vacancy  in Content Writing / Journalism / Editing field with 3 to 8 years Work Experience, Key Skills are Content Writer, Content Developer, Creative Writer, Technical Writer, Content Writing / Journalism / Editing jobs in Gurgaon  India";i:4;s:2192:"
		<script type="application/ld+json">
		{
		  "@context": "http://schema.org",
		  "@type": "JobPosting",
		  "title": "Content Writer",
		  "baseSalary": " 3  Lac  To  10  Lac ",
		  "description": "We are looking to hire a dedicated Content Writer to create content for blogs, articles, product descriptions, social media, and the company website. The Content Writer's responsibilities include evaluating analytics to adjust content as needed, regularly updating the company's website, and promoting the company blog by pitching articles to various third-party platforms. You should also be able to follow editorial guidelines when creating content.

To be successful as a Content Writer, you should keep abreast of the latest SEO techniques. Ultimately, a top-performing Content Writer should be able to contribute to the development of strategies that will increase reader engagement.

Content Writer Responsibilities:
Conducting in-depth research on industry-related topics in order to develop original content.
Developing content for blogs, articles, product descriptions, social media, and the company website.
Assisting the marketing team in developing content for advertising campaigns.
Proofreading content for errors and inconsistencies.
Editing and polishing existing content to improve readability.
Conducting keyword research and using SEO best practices to increase traffic to the company website.
Creating compelling headlines and body copy that will capture the attention of the target audience.
Identifying customers’ needs and recommending new content to address gaps in the company's current content.",
		  "educationRequirements": "B.C.A, B.Sc, B.Tech/B.E, M.C.A, M.Sc, M.Tech",
		  "experienceRequirements": "3 - 8 Years",
		  "industry": "Content Writing / Journalism / Editing",
		  "jobLocation": {
		    "@type": "Place",
		    "address": {
		      "@type": "PostalAddress",
		      "addressLocality": "Haryana",
		      "addressRegion": "Gurgaon"
		    }
		  },
		 "qualifications": "B.C.A, B.Sc, B.Tech/B.E, M.C.A, M.Sc, M.Tech",
		     "skills": "Content Writer, Content Developer, Creative Writer, Technical Writer"
		  }
		</script>
		";i:5;N;}